一、选择器进阶(能够理解 复合选择器 的规则,并使用 复合选择器 在 HTML 中选择元素)
1.复合选择器(里面所有的选择器都是并列关系后面覆盖前面)
后代选择器:空格 对标签中所有的目标标签后级都生效**
作用:根据 HTML 标签的嵌套关系,选择父元素 后代中 满足条件的元素
选择器语法:选择器1 选择器2 { css }
结果: 在选择器1所找到标签的后代(儿子、孙子、重孙子…)中,找到满足选择器2的标签,设置样式
父选择器+空格+后代选择器加css属性
注意点: 后代包括:儿子、孙子、重孙子…… , 后代选择器中,选择器与选择器之前通过 空格 隔开
子代选择器:> 只对子一级目标标签生效
作用:根据 HTML 标签的嵌套关系,选择父元素 子代中 满足条件的元素
选择器语法:选择器1 > 选择器2 { css }
结果: 在选择器1所找到标签的子代(儿子)中,找到满足选择器2的标签,设置样式
备注: 子代只包括:儿子 。 子代选择器中,选择器与选择器之前通过 > 隔开
2、并集选择器 :, 找到多组标签并设置被选中的标签无论在哪里都会生效
作用:同时选择多组标签,设置相同的样式
选择器语法:选择器1 , 选择器2 { css }
结果: 找到 选择器1 和 选择器2 选中的标签,设置样式
备注: 并集选择器中的每组选择器之间通过 , 分隔 。 并集选择器中的每组选择器可以是基础选择器或者复合选择器 。并集选择器中的每组选择器通常一行写一个,提高代码的可读性
需要能够理解 复合选择器 的规则,并使用 复合选择器 在 HTML 中选择元素
3、交集选择器:紧挨着(实际中当两个盒子的大部分样式都相同并且设置了同一个类名,把不相同那个盒子用标签名 . +类名去设置该盒子的不同样式)直接用标签选择时权重没有类选择器大,因此必须用交集选择器。
作用:选中页面中 同时满足 多个选择器的标签
选择器语法:选择器1.选择器2 { css }
结果:(既又原则)找到页面中 既 能被选择器1选中,又 能被选择器2选中的标签,设置样式
备注:交集选择器中的选择器之间是紧挨着的,没有东西分隔。交集选择器中如果有标签选择器,标签选择器必须写在最前面
4、hover伪类选择器,任何标签都可以使用
作用:选中鼠标悬停在元素上的状态,设置样式
选择器语法:选择器:hover { css }
备注:伪类选择器选中的元素的某种状态
5、emmet语法就是快捷方式
作用:通过简写语法,快速生成代码
语法:类似于刚刚学习的选择器的写法
标签名:div
类选择器 .red
id选择器#one
交集选择器p.red#one
二、背景的相关属性
1、背景颜色:为了看清楚自己设置的宽高
属性值:颜色取值:关键字、rgb表示法、rgba表示法、十六进制……
备注:背景颜色默认值是透明:rgba(0,0,0,0) 、transparent背景颜色不会影响盒子大小,并且还能看清盒子的大小和位置,一般在布局中会习惯先给盒子设置背景颜色
2、背景图片:background-imga
属性值是:uel(‘ 路径’)
备注:背景图片中url中可以省略引号。背景图片默认是在水平和垂直方向平铺的。背景图片仅仅是指给盒子起到装饰效果,类似于背景颜色,是不能撑开盒子的
3、背景平铺:background-repeat
no-repead(不平铺)
repead-x(水平平铺)
repead-有(垂直平铺)
4、背景位置:background-position
属性值是方位名词:left、center、right
也可以是坐标:用数字+px表示 原点是(0,0)在左上角
5、背景相关属性连写一般background属性都会连写。background后面直接加属性值。
书写顺序:background:color image repeat position(没有值的属性可以忽略)
备注:如果需要设置单独的样式和连写。要么把单独的样式写在连写的下面。要么把单独的样式写在连写的里面
整体备注:通常图片(img)不设置内容而想要让图片上有内容都是把图片当成背景图
三、元素显示模式
1、块级元素(block)要居中徐奥设置,magin为0 auto才额能实现
能够认识三种常见的元素显示模式,并通过代码实现不同元素显示模式的转换
学习路径
独占一行的标签都叫块级元素
常见的标签有:div、p、h系列、ul、li、dl、dt、dd等
2、行内元素(inline)
一行显示多个的标签一般高度与宽度由内容撑开,不可独自设置宽高
常见的有:a、span 、b、u、i、s、strong、ins、em、del等
3、行内块元素(inline-block)
一行显示多个,又可以设置宽高
可以通过设置行内元素的display为block-inline来实现行内元素的宽高调整。
4、元素显示模式转换
目标:能够认识元素显示模式,并通过代码实现元素显示模式的转换
语法
display:block 转换成块级元素(使用场景较多)
display:inline-block转换成行内块级元素(使用场景较多)
display:inline 转换成行内元素(基本不使用)
备注::HTML嵌套规范注意点
块级元素一般作为大容器,可以嵌套:文本、块级元素、行内元素、行内块元素等等……但是:p标签中不要嵌套div、p、h等块级元素
a标签内部可以嵌套任意元素但是:a标签不能嵌套a标签
四、css特性
1、继承关系
子元素默认继承父元素一样的特点(文字文本内容都可以继承)
备注:a标签的color会继承失败,h系列标签font-size会继承失败。就是说标签自带默认属性,继承就会失败。
2、层叠关系,权重相同看顺序后者的样式显示
特性:给同一个标签设置不同的样式 → 此时样式会层叠叠加 → 会共同作用在标签上。给同一个标签设置相同的样式 → 此时样式会层叠覆盖 → 最终写在最后的样式会生效
备注:当样式冲突时,只有当选择器优先级相同时,才能通过层叠性判断结果
操作小知识:选多行编辑相同内容时,alt+ctrl+鼠标左键选择就行