选择器优先级
层叠:css规则的顺序
关系选择器
(后代、子代、群组、相邻兄弟、通用兄弟)
伪类
:first-child、:empty
用户行为伪类(动态伪类)::active 、:hover 、:focus
伪元素
::first-line、::first-letter
::before
、::after
常用于生成特定内容(如小图标)
优先级: !important > 内联(1000) > id(100) > 类、属性、伪类选择器(10, 特别地,:is、:not伪类例外) > 元素、伪元素(1) > 通配符、关系选择符(+、~、>)
注意
:is()、:not()对优先级无影响,但参数会有影响,一般取优先级最大值,例如button:not(#mainBtn, .cta) 优先级为1-0-1
属性继承
通用属性值(控制继承):inherit/initial/unset/revert
继承属性分类
- 字体属性 font-family...
- 文本属性 text-indent...
- 光标属性
- 表格布局属性 table-layout、border-collapse...
- visibility
特别地
- a 标签的字体颜色不能继承父元素
- h1-h6标签字体的大下不能继承父元素
无继承属性分类
- 背景属性
- 轮廓样式属性 outline-style、outline-width...
- display
- 定位属性
- 盒模型属性