css3哪个属性改变层叠性-LMLPHP

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

什么是层叠性?

层叠性就是浏览器处理冲突的一个特性,如果一个属性通过多个选择器设置到同一个元素上面,那么这个时候就会只有一个选择器起作用,而其他的选择器都将被层叠掉。

定义:相同选择器设置相同的样式,此时其中一个样式会覆盖另一个冲突的样式。

作用:解决样式冲突的问题。

层叠性原则:当发生样式冲突时,遵循就近原则。

CSS层叠性的体现:

1:样式无冲突

/* 多个选择器选择同一个元素,样式并无冲突时 */
.box_one{
    width:100px;
    height:100px;  
}
.box_two{
    background:red;
}
<body>
     <div class="box_one box_two"></div>
</body>
登录后复制

以上代码中,样式代码并无冲突,两个选择器中的所有样式都叠加到了元素div上,div最终呈现的是一个红色的,宽高度大小为100px的容器。

css3哪个属性改变层叠性-LMLPHP

2:样式有冲突

样式有冲突,同一级别不受优先级影响时

.box_one{
   width:100px;
   height:100px;
 }
.box_two{
    width:200px;
    background:red;
}
<body>
    <div class="box_one box_two"></div>
</body>
登录后复制

以上代码中,在同级别时(同个元素,同是class定义选择器名称),样式代码出现冲突,两个选择器中出现同一条width属性,则以CSS代码中最后出现的那条样式为准,div最终呈现的是一个width为200px,height为100px,红色的容器。

css3哪个属性改变层叠性-LMLPHP

样式有冲突,不同级别受优先级(权重)的影响时

CSS规定基本选择器的优先级从低到高排序为:元素(标记)样式 < 类别(class)样式 < ID样式 < 行内样式 < !important。

那么css3哪个属性改变层叠性

在css3中,可以利用“!important”规则来改变层叠性。

CSS 中的 !important 规则用于增加样式的权重。

!important 与优先级无关,但它与最终的结果直接相关,使用一个 !important 规则时,此声明将覆盖任何其他声明。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
#myid {
  background-color: blue;
}

.myclass {
  background-color: gray;
}

p {
  background-color: red ;
}
</style>
</head>
<body>

<p>段落中的一些文本内容!!!都会显示红色,因为 !important 作用,你可以删除该规则来看看效果。</p>

<p class="myclass">段落中的一些文本内容!!!都会显示红色,因为 !important 作用,你可以删除该规则来看看效果。</p>

<p id="myid">段落中的一些文本内容!!!都会显示红色,因为 !important 作用,你可以删除该规则来看看效果。</p>

</body>
</html>
登录后复制

css3哪个属性改变层叠性-LMLPHP

修改一下p选择器样式的权重:

p {
  background-color: red !important;
}
登录后复制

css3哪个属性改变层叠性-LMLPHP

以上实例中,尽管 ID 选择器和类选择器具有更高的优先级,但三个段落背景颜色都显示为红色,因为 !important 规则会覆盖 background-color 属性。

(学习视频分享:css视频教程

以上就是css3哪个属性改变层叠性的详细内容,更多请关注Work网其它相关文章!

09-16 18:12