css层叠是CSS的一个基本特征,它是一个定义了如何合并来自多个源的属性值的算法;CSS层叠性是指CSS样式在针对同一元素配置同一属性时,依据层叠规则来处理冲突,选择应用权重高的CSS选择器所指定的属性。
本文操作环境:windows7系统、HTML5&&CSS3版、Dell G3电脑。
什么是css层叠?
层叠是CSS的一个基本特征,它是一个定义了如何合并来自多个源的属性值的算法。它在CSS处于核心地位,CSS的全称层叠样式表正是强调了这一点。
CSS层叠性是指CSS样式在针对同一元素配置同一属性时,依据层叠规则(权重)来处理冲突,选择应用权重高的CSS选择器所指定的属性,一般也被描述为权重高的覆盖权重低的,因此也称作层叠。
每个CSS选择器都会有一个权重,当两个选择器同时配置同一元素的同一属性时(比如一个设置color:red,另一个color:black),就会产生冲突,而解决冲突的方案就是CSS选择器的权重,权重高的来覆盖权重低的。
层叠性指的是上级标签的样式会自动继承到其所有下级标签,如针对
设置的标签选择器所设的字体样式会自动应用到下的中,除非
重写了相关样式将其覆盖。
层叠性指的是样式的优先级,当产生冲突时以优先级高的为准:
开发者样式>读者样式>浏览器样式(除非使用!important标记 )
id选择符>(伪)类选择符>元素选择符
权重相同时取后面定义的样式
CSS层叠算法期望通过挑选CSS声明来给CSS属性设置正确的值。CSS声明可以有不同的来源:
1、浏览器会有一个基本的样式表来给任何网页设置默认样式。这些样式统称**用户代理样式**。一些浏览器通过使用真正的样式表,而其他则通过代码模拟,但无论是哪种情形都应是不可被检测的。
而且部分浏览器允许用户修改用户代理样式。尽管HTML标准对用户代理样式做了诸多限制,浏览器仍大有可为,具体表现在不同浏览器间会存在重大的差异。
为了减轻开发成本以及降低样式表运行所需的基本环境,网页开发者通常会使用一个CSS reset样式表,强制将常见的属性值转为确定状态。
2、网页的作者可以定义文档的样式,这是最常见的样式表。大多数情况下此类型样式表会定义多个,它们构成网站的视觉和体验,即主题。
3、读者,作为浏览器的用户,可以使用自定义样式表定制使用体验。
尽管CSS样式会来自这些不同的源,但它们的作用范围是重叠的,而层叠算法则定义了它们如何相互作用。
【推荐学习:css视频教程】
以上是css 层叠是什么的详细内容。更多信息请关注PHP中文网其他相关文章!