一、继承
控制继承
- inherit 子元素属性与父元素属性保持一致,开启继承
- initial 属性值为属性初始值
- revert 属性值为浏览器的默认值
- unset 属性值为自然值,如果属性是自然继承inherit,否则为initial
all 可以将继承值引用到所有属性
二、层叠
样式表层叠:css规则顺序
三个考虑因素:
- 资源顺序:在规则相同权重相同的情况下,后面的规则会覆盖前面的规则
- 优先级:优先级高的规则,规则会被优先应用
优先级的计算 优先级由三个不同的值相加“百位(ID)十位(类)个位(元素)”
ID:id选择器,得一分 类:类选择器、属性选择器、伪类选择器,得一分 元素:元素、伪元素,得一分 通用符选择器、组合符和调整优先级的选择器不会影响优先级
h1 0-0-1
h1+p::first-letter 0-0-3
li>a[href="en-US"]>.inline-warning 0-2-2
- 重要程度
三、内联样式
style标签属性上设置样式,它比任何优先级的权重要高
四、!important
一个特殊的css,能够覆盖普通的层叠
五、css位置的影响
css声明的优先级取决于定义它的样式表和级联层
覆盖声明的顺序,后一种覆盖前一种:
- 用户代理样式表中的声明:浏览器的默认样式
- 用户样式表中的常规声明:用户注入的浏览器自定义样式
- 作者样式表中的常规声明:程序员编写样式
- 作者样式表中的!important声明
- 用户样式表中的!important声明
- 用户代理样式表的!important声明
级联层的顺序
在级联层中声明css,优先级的顺序由声明层的顺序决定,在声明层外声明,形成一个未命名的层,当做最后声明的层
没有!important的样式,后面的层比前面定义的层优先级高
带有!important的样式,前面的层比后面定义的层优先级高
内联样式比作者定义的样式高,不受级联影响