属性选择器
选择器[属性]:带指定属性的元素
选择器[属性="属性值"]:带指定属性等于指定值(完全匹配)的元素
选择器[属性*="属性值"]:带指定属性且包含指定值(模糊匹配)的元素
选择器[属性^="属性值"]:带指定属性且指定值开头的元素
选择器[属性$="属性值"]:带指定属性且指定值结尾的元素
伪元素选择器
-伪元素表示的是标签中的内容,不是状态
-first-letter:第一个字符
-first-line:第一行
before:在选定内容之前
after:在选定内容之后
知识点:
-否定伪类
描述:
-从已经选择的元素中排除某些元素
-语法:
选择器:not(选择器){
样式名称
}
问题:选中p标签中除了class为p2的所有p标签
结论:使用否定伪类选择器
样式继承:
- 如果标签之间存在层次关系,则css的某些样式会从祖先元素传递给后代元素,称为样式继承
- 边框,定位,浮动,背景等样式不能继承
样式优先级:
- 使用不同的选择器选中同一个标签,使用相同的样式不同的值修饰时,则产生样式冲突,最终会采用哪一个样式,则由样式的优先级(权重)决定
- 优先级:
选择器类型 优先级
行内元素 1000
id选择器 100
类/伪类选择器 10
标签选择器 1
通配符 0
继承没有优先级
交集选择器优先级进行累加
优先级累加不超过当前层级,比如:类选择器不会超过99
并集选择器,各个选择器优先级单独计算,不进行累加
important 级别最高
问题:标签中添加span标签,且只设置p标签的样式,则子标签span的样式为?
结论:根据继承原理,则和p标签的样式相同
问题:如果使用通配符选择器设置样式,p标签也设置样式,则span样式为?
分析:span标签有样式冲突?
一个是从p标签继承过来的样式
通配符设置的样式
结论:继承没有优先级,span使用通配符的样式
问题:当使用不同类型的选择器进行叠加(交集选择器),样式如何显示?
结论:交集选择器优先级进行累加