1.1层叠
解决样式冲突的一系列规则。依靠三种条件:
(1)样式表的来源
(2)选择器的优先级
(3)源码顺序
1.1.1样式表的来源
优先级从低到高。
用户代理样式表(浏览器默认样式):为标题<h1>~<h6>和段落<p>添加上下外边距;为列表<ol>和<ul>添加左侧内边距;为链接添加颜色;为元素设置各种默认字号。
用户样式表:优先级介于用户代理样式表和作者样式表之间,一般少见。
作者样式表:自己写的样式。
!important:重要的声明。
1.1.2优先级
浏览器分为两种:
(1)行内样式;
(2)选择器样式
(1)行内样式
style属性写的样式,只会作用于当前元素,是“带作用域的”声明。
但!important的优先级更高。
(2)选择器优先级
不同选择优先级不同,(网上都有)
link、visit、hover、active四个的顺序记忆法(LoVe,HAte)
(3)优先级标记
0,1,1,0(网上都有)
1.2继承
继承的属性一般是跟文本相关的属性:color, font,font-family, font-size, font-weight, font-variant, font-style, font-style, line-height, letter-spacing, text-align, text-indent, text-transform, white-space, word-spacing.
还有一些属性,列表属性是list-style, list-style-type, list-style-position, list-style-image.
表格的边框属性是border-collapse, border-spacing.
1.3特殊值
有两个特殊值可以赋给任意属性,用于控制层叠:inherit和initial。
inherit作用:
(1)继承父元素的样式。
.foot a {
color: inherit;
}
(2)强制继承一个通常不会被继承的属性。
initial作用:将元素属性设为默认值。
例如,想要删除一个border的边框,直接设置border:inherit即可。