css层叠是CSS的一个基本特征,它是一个定义了如何合并来自多个源的属性值的算法;CSS层叠性是指CSS样式在针对同一元素配置同一属性时,依据层叠规则来处理冲突,选择应用权重高的CSS选择器所指定的属性。

本文操作环境:windows7系统、HTML5&&CSS3版、Dell G3电脑。

什么是css层叠?

层叠是CSS的一个基本特征,它是一个定义了如何合并来自多个源的属性值的算法。它在CSS处于核心地位,CSS的全称层叠样式表正是强调了这一点。

CSS层叠性是指CSS样式在针对同一元素配置同一属性时,依据层叠规则(权重)来处理冲突,选择应用权重高的CSS选择器所指定的属性,一般也被描述为权重高的覆盖权重低的,因此也称作层叠。

每个CSS选择器都会有一个权重,当两个选择器同时配置同一元素的同一属性时(比如一个设置color:red,另一个color:black),就会产生冲突,而解决冲突的方案就是CSS选择器的权重,权重高的来覆盖权重低的。

层叠性指的是上级标签的样式会自动继承到其所有下级标签,如针对<body>设置的标签选择器所设的字体样式会自动应用到<body>下的<p>中,除非<p>重写了相关样式将其覆盖。

层叠性指的是样式的优先级,当产生冲突时以优先级高的为准:

  • 开发者样式>读者样式>浏览器样式(除非使用!important标记 )

  • id选择符>(伪)类选择符>元素选择符

  • 权重相同时取后面定义的样式

CSS层叠算法期望通过挑选CSS声明来给CSS属性设置正确的值。CSS声明可以有不同的来源:

1、浏览器会有一个基本的样式表来给任何网页设置默认样式。这些样式统称**用户代理样式**。一些浏览器通过使用真正的样式表,而其他则通过代码模拟,但无论是哪种情形都应是不可被检测的。

而且部分浏览器允许用户修改用户代理样式。尽管HTML标准对用户代理样式做了诸多限制,浏览器仍大有可为,具体表现在不同浏览器间会存在重大的差异。

为了减轻开发成本以及降低样式表运行所需的基本环境,网页开发者通常会使用一个CSS reset样式表,强制将常见的属性值转为确定状态。

2、网页的作者可以定义文档的样式,这是最常见的样式表。大多数情况下此类型样式表会定义多个,它们构成网站的视觉和体验,即主题。

3、读者,作为浏览器的用户,可以使用自定义样式表定制使用体验。

尽管CSS样式会来自这些不同的源,但它们的作用范围是重叠的,而层叠算法则定义了它们如何相互作用。

【推荐学习:css视频教程】

以上就是css 层叠是什么的详细内容,更多请关注美工之家9502669.com其它相关文章!