CSS特征之一:层叠性

作者: 千锋HTML5学院 | 来源:发表于2020-09-23 11:34 被阅读0次

详解CSS特征之一:层叠性

通常在刚刚开始学习CSS时,我们都会提到CSS的继承性、层叠性、优先级,本文只对CSS的层叠性做详细的解读。

CSS层叠性的概念:

有多个选择器或一个选择器对某个或某几个标签中的多条样式进行选择,如果多个选择器都赋给某个或某几个标签相同属性,样式的作用范围发生了重叠

CSS层叠性的体现:

1:样式无冲突

/* 多个选择器选择同一个元素,样式并无冲突时 */
.box_one{
    width:100px;
    height:100px;  
}
.box_two{
    background:red;
}

<body>
     <div class="box_one box_two"></div>
</body>

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

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,红色的容器。

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

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

2-1:类别(class)样式 VS 元素(标记)样式

.box_one{
    width:200px;
    background:red;
} 
div{
   width:100px;
   height:100px;
 }
<body>
    <div class="box_one"></div>
</body>

以上代码中,class样式的优先级大于元素样式的优先级,即使div设置的width写在后面,最终呈现的是一个width:200px,height:100px;背景色为红色的容器。

2-2:ID样式 VS 类别(class)样式

#box{
    width:200px;
    background:yellow;
} 
.box_one{
   width:100px;
   height:100px;
   background:red;
}
<body>
    <div class="box_one" id="box"></div>
</body>

以上代码中,ID样式的优先级大于class样式的优先级,最终呈现的是一个width:200px,height:100px;背景色为黄色的容器。

2-3:行内样式 VS ID样式

#box{
    width:200px;
    background:yellow;
} 
.box_one{
   width:100px;
   height:100px;
   background:red;
}
<body>
    <div class="box_one" id="box" style="background:pink"></div>
</body>

以上代码中,CSS行内样式优先于ID的样式,div最终呈现的是一个宽度为200px,高度100px,背景颜色为粉色的容器。

2-4: !important VS 行内样式

.box_one{
   width:100px!important;
   height:100px;
   background:red!important;
}
#box{
    width:200px;
}
<body>
    <div class="box_one" id="box" style="background:pink"></div>
</body>

在CSS中,!important具有最高优先级,并且可以写在任意一条有冲突样式的后面。在以上代码中,div在行内样式表设置背景色为粉色,ID样式中width为200px;但是在class样式中,width:100px及背景色为red的后面都添加了!important,因此,最终呈现的是一个宽度为100px,高度为100px,背景色为红色的容器。

相关文章

  • CSS特征之一:层叠性

    详解CSS特征之一:层叠性 通常在刚刚开始学习CSS时,我们都会提到CSS的继承性、层叠性、优先级,本文只对CSS...

  • css的三大特性

    css层叠性 css继承性 css优先性 1.css层叠性 所谓层叠性是指多种CSS样式的叠加。 如果一个属性通过...

  • day7 CSS属性中

    1.CSS的特性 1.1CSS的层叠性 CSS的层叠性,也就是说后来设置的样式会层叠(覆盖)之前的样式,层叠性的前...

  • 2017.06.17

    css层叠性

  • CSS 三大特性

    CSS的三个特性是指层叠性、继承性以及优先级。 一、CSS层叠性 说明层叠性是多种CSS样式的叠加,是浏览器处理样...

  • 第二章 CSS基础

    Cascading Style Sheet —— 层叠样式表 Css的特性 层叠性 继承性 重要性、 Css基本规...

  • css层叠性

    css全名叫做“层叠式样式表”,层叠性是它很重要的性质 层叠性:多个选择器可以同时作用于同一个标签,效果叠加 如果...

  • CSS笔记下

    1.CSS的特性: a. CSS的层叠性:CSS的层叠性,也就是说后来设置的样式会层叠(覆盖)之前的样式,层...

  • CSS的三大特性

    简介层叠 继承 优先级 是我们学习CSS 必须掌握的三个特性。 CSS层叠性 所谓层叠性是指多种CSS样式的叠加...

  • CSS特性 & CSS优先级算法

    CSS特性 层叠性 继承性 优先级 CSS层叠性 在css样式中,与样式的调用顺序无关,与样式的定义顺序有关。 层...

网友评论

    本文标题:CSS特征之一:层叠性

    本文链接:https://www.haomeiwen.com/subject/yrnnyktx.html