“层叠”是指浏览器最终为网页上的特定元素显示样式的方式。三种不同的源决定了网页上显示的样式:由页面的作者创建的样式表、用户的自定义样式选择(如果有)和浏览器本身的默认样式。网页的最终外观是由所有这三种源的规则共同作用(或者“层叠”)的结果,最后以最佳方式呈现网页。
实际上,所有在选择符中嵌套的选择符都会继承外层选择符指定的属性值,除非另外更改。例如,一个body定义了的颜色值也会应用到段落的文本中。有些情况是内部选择符不继承周围选择符的值,但理论上这些都是特殊的。例如,上边界属性是不会继承的;直觉上,一个段落不会有和文档body一样的上边界值。
当使用了多个样式表,样式表需要争夺特定选择符的控制权。在这种情况下,总会有样式表的规则能获得控制权。以下的特性将决定互相竞争的样式表的结果。
1.!important规则
规则可以用指定的!importan特指为重要的。一个特指为重要的样式会凌驾于与之对立的其他相同权重的样式。同样地,当网页制作者和读者都指定了重要规则时,网页制作者的规则会超越读者的。以下是!important声明的例子:(www.daowen.com)
网页制作者和读者都可以去指定样式表。当两者的规则发生冲突,网页制作者的规则会优先于读者的其他相同权重的规则。而网页制作者和读者的样式表都优先于浏览器的内置样式表。网页制作者应该小心地使用!important规则,因为它们会超越用户任何的!important规则。例如,一个用户由于视觉关系,会要求大字体或指定的颜色,而且这样的用户会有可能声明确定的样式规则为!important,因为这些样式对于用户阅读网页是极为重要的。任何的!important规则会超越一般的规则,所以建议网页制作者使用一般的规则以确保有特殊样式需要的用户能阅读网页。
2.计算特性规则
计算特性规则基于它们的特性级别。样式表也可以超越与之冲突的样式表,一个较高特性的样式永远都凌驾于一个较低特性的样式。这只不过是计算选择符的指定个数的一个统计游戏。计算的内容包括:统计选择符中的ID属性个数、统计选择符中的CLASS属性个数和统计选择符中的HTML标记名格式。最后,按正确的顺序写出三个数字,不要加空格或逗号,得到一个三位数。(注意,需要将数字转换成一个以3个数字结尾的更大的数)。相应于选择符的最终数字列表可以很容易确定较高数字特性凌驾于较低数字的。以下是一个按特性分类的选择符的列表:
为了方便使用,当两个规则具同样权重时取后面的那个。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。