设置层叠样式表或CSS,以便您可以拥有许多影响同一元素的属性。其中一些属性可能会相互冲突。例如,您可以在段落标记上设置红色的字体颜色,然后在以后设置字体颜色为蓝色。浏览器如何知道段落的颜色?这是由级联决定的。
样式表的类型
有三种不同类型的样式表:
- 作者样式表
- 这些是由网页作者创建的样式表。当他们想到CSS样式表时,大多数人都会想到它们。
- 用户样式表
- 用户样式表由网页的用户设置。这些允许用户更好地控制页面的显示方式。
- 用户代理样式表
- 这些是Web浏览器应用于页面以帮助显示该页面的样式。例如,在XHTML中,大多数可视用户代理显示标记 斜体文字。这在用户代理样式表中定义。
在每个上述样式表中定义的属性被赋予权重。默认情况下,作者样式表的权重最大,其次是用户样式表,最后是用户代理样式表。唯一的例外是用户样式表中的!important规则。这比作者的样式表更重要。
级联订单
要解决冲突,Web浏览器使用以下排序顺序来确定哪种样式具有优先级并将使用:
- 首先,查找适用于相关元素的所有声明以及指定的媒体类型。
- 然后看看它来自哪种样式表。如上所述,首先是作者样式表,然后是用户,然后是用户代理。使用!重要用户样式的优先级高于作者!重要样式。
- 选择器越具体,它将获得越多的优先级。例如,“div.co p”上的样式将优先于“p”标记上的样式。
- 最后,按照定义的顺序对规则进行排序。稍后在文档树中定义的规则具有比先前定义的规则更高的优先级。并且直接在样式表中考虑来自导入样式表的规则。