美文网首页
css继承性和层叠性

css继承性和层叠性

作者: 以手画圆心 | 来源:发表于2017-10-10 19:47 被阅读37次

1.继承性

首先我们要明白一点,并不是所有的属性都能继承。
那么,究竟哪些属性可以继承呢?
很简单,color、text-开头的、line-开头的、font-开头的,这些关于文字样式的,都能继承;所有关于盒子的、定位的、布局的属性,都不能继承。
另外,继承性是从自己贯穿到最小的元素。
举个简单的例子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        div.t{
            color:red;
        }
    </style>
</head>
<body>
    <div class="t">
        <div>good
            <div>
                <p>great</p>
            </div>
        </div>
    </div>
</body>
</html>

div.t的下一级<div>good</div>和<p>great</p>,都是div.t里的,style中虽然只定义了div.t{color:red;}样式,并没有直接定义<div>good</div>和<p>great</p>的样式,但是由于CSS具有继承性,所以结果是显示红色的good和红色的great。
![E]AF0OV~YP@5C%)7P`0P7S.png

2、层叠性

层叠性指的是css处理冲突的能力,比如

.box1{color: red;}
.box1 #t3{color: green;}

当同一元素同时被两个冲突的属性描述的时候,它究竟听谁的?
那么这个时候,就需要知道以下几句话:
1)先看有没有直接选种元素,如果选中了,那么以(id数,类数,标签数)来计算权重(x,y,z),谁大听谁的,如果一样,谁写在后听谁的。
2)如果没有直接选中元素,那么权重为0,这时候就按照就近原则,谁描述的深,就听谁的。如果描述一样深,这时候再回头比权重。如果这时候权重在一样,那么这时谁写在后面就听谁的。
举例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        /*下面这种情况显示是绿色,都没有选中元素,权重均为0,但是.box1 #t3描述的更深
        .box1{
            color: red;
        }
        .box1 #t3{
            color: green;
        }
        */
        /*下面这种情况显示是红色,第一个权重为(0,0,1),第二个权重为0.
        p{
            color: red;
        }
        .box1 #t2 div{
            color: green;
        }*/
        /*下面这是红色,没有选择元素,权重为0,此时,描述深度又一致,再比较权重
        div.box1 #t3{
            color: red;
        }
        .box3{
            color: green;
        }*/
        
        /*下面这个是你绿色,没有选择元素,权重为0,描述深度一致,
再比较权重还是一样(1,1,1),这时谁在后面听谁的*/
        div.box1 #t3{
            color: red;
        }
        #t2 div.box3{
            color: green;
        }
    </style>
</head>
<body>
    <div class="box1" id="t1">
        <div class="box2" id="t2">
            <div class="box3" id="t3">
                <p>是什么颜色?</p>
            </div>
        </div>
    </div>
</body>
</html>

相关文章

  • CSS三大特性

    CSS全称 Cascading StyleSheet层叠样式表 继承性 层叠性 优先级 继承性 1.什么是继承性?...

  • css的三大特性

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

  • 2.CSS特性-CSS进阶

    二、CSS特性 CSS具有两大特性:继承性层叠性 1.继承性 CSS的继承性,指的是子元素继承父元素的某些样式属性...

  • 第二章 CSS基础

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

  • css继承性和层叠性

    1.继承性 首先我们要明白一点,并不是所有的属性都能继承。那么,究竟哪些属性可以继承呢?很简单,color、tex...

  • 2022-02-03 CSS第三天

    CSS的三大特性 层叠性 继承性 行高的继承性 优先级 权重练习小例子

  • CSS 三大特性

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

  • CSS特性 & CSS优先级算法

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

  • 前端学习笔记七

    Css层叠样式表: 1,Css层叠性:指多种css样式的叠加 2,Css继承性:子标签会继承父标签的某些样式。 字...

  • 这周的学习

    九 . CSS 的三大特性 CSS 有三个非常重要的特性 :层叠性,继承性,优先级。 1 . 层叠性 ...

网友评论

      本文标题:css继承性和层叠性

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