CSS1精要1
一.样式选择器:
类选择符: H1.pastoral
ID选择符: #z98y
分组: H1, H2, H3
上下文选择符: H1 EM{color: red}
二.层叠算法
1.查找所有待设置给标签和属性的css样式, 如果某个选择符匹配某个标签则设置该样式;如没有css样式可设置,则设置继承值(如某个HTML标签的属性不能继承).如果没有继承值,则采用初始值.
2.根据显式的权值排序css样式: 带有"!important"的标记样式的权值比没有带该标记的样式的权值高.
3.根据样式的来源排序css样式: 制作者的样式表覆盖读者的样式表;读者的样式表覆盖UA的默认样式表.
4.根据特殊性排序: 越特殊的选择符覆盖不是很特殊的选择符.特殊性计算如下: 选择符中的ID属性个数(a), 选择符中类属性个数(b), 选择符中标签数(c). 将abc连成一个数字就是特殊性的值.例如:
LI {...} /* a=0 b=0 c=1 -> specificity = 1 */
UL LI {...} /* a=0 b=0 c=2 -> specificity = 2 */
UL OL LI {...} /* a=0 b=0 c=3 -> specificity = 3 */
LI.red {...} /* a=0 b=1 c=1 -> specificity = 11 */
UL OL LI.red {...} /* a=0 b=1 c=3 -> specificity = 13 */
#x34y {...} /* a=1 b=0 c=0 -> specificity = 100 */
伪元素和伪类当作普通的元素和类计算.
5.根据特指排序:如果两条规则有相同的权值, 后定义的优先.被导入的样式表的规则认为比非导入的样式表的规则先定义.