第九章CSS高级选择器
1.复合选择器
**1.1 “交集”选择器(点号)
**
“交集”复合选择器由两个选择器直接连接构成,其结果必是两者的交集。
**1.2 “并集”选择器(逗号)
**
其结果是各个基本选择器的范围。
并集选择器是多个选择器通过逗号连接而成。
1.3 后代选择器(空格)
后代选择器的使用非常广泛,不仅标记选择器可以以这种方式组合,类别选择器和ID选择器都可以嵌套。
上面的这个3层嵌套表示的就是使用了.out类别的
需要注意的是,后代选择器产生的影响不仅限于”直接后代”,后代的后代也会受到影响。
如果设置如下样式:
“这是最外层的文字”以黑色表示,即没有设置样式的颜色;后面的”这是中间的文字”和”这是最内层的文字”则以蓝色显示。
因此在CSS
2中,规范的制定者还规定了一种复合选择器,称为”子选择器”,也就是只对直接后代有影响的选择器,而对”孙子”以及多个层的后代不产生作用。
子选择器和后代选择的语法区别是使用大于号连接。
而IE 6中,不支持子选择器,仅支持后代选择。IE
7和Firefox都既支持后代选择器,也支持子选择器。
2.CSS的继承特性
2.1 继承关系
可以看到这个页面中,标题的中间部分的文字使用了(强调)标记,在浏览器中显示为斜体。后面使用了列表结构,其中最深的部分使用了三级列表。
**2.2 CSS继承的运用
**
在前面的案例中加入如下CSS代码,就将h1标记设置为蓝色,加上下划线,并将em标记设置为红色。
可以看到其子标记em也显示出下划线,说明对父标记的设置也对子标记产生效果;而em文字显示为红色,h1标题中其他文字仍为蓝色,说明对子标记的设置不会对其父标记产生作用。
3.CSS的层叠特性
层叠即”冲突”
第一行,文本显示为标记选择器p中定义的绿色;
第二行,由于类别选择器的优先级高于标记选择器,因此显示为类别选择器中定义的红色;
第三行,ID选择器的优先级高于类别选择器,因此显示为ID选择器中定义的蓝色。
第四行,行内样式的优先级高于ID样式的优先级,因此显示为行内样式定义的橙色。
第五行,两个类别选择器的优先级相同,此时已前者为准,显示为紫色。
优先级可以表述为:
行内样式>ID样式>类别样式>标记样式
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!
目录