• css的继承性和层叠性


    css有两大特性:继承性和层叠性

    继承性:

    面向对象语言都会存在继承的概念,在面向对象语言中,继承的特点:继承了父类的属性和方法。那么我们现在主要研究css,css就是在设置属性的。不会牵扯到方法的层面。

    继承:给父级设置一些属性,子级继承了父级的该属性,这就是我们的css中的继承。

    记住:有一些属性是可以继承下来 : color 、 font-*、 text-*、line-* 。主要是文本级的标签元素。

    但是像一些盒子元素属性,定位的元素(浮动,绝对定位,固定定位)不能继承

    层叠性

    层叠性: 权重的标签覆盖掉了权重小的标签,说白了 ,就是被干掉了
    权重: 谁的权重大,浏览器就会显示谁的属性

    谁的权重大? 非常简单就是小学的数数。

    数:id的数量 class的数量 标签的数量,顺序不能乱

           优先级等级

    行内样式 > ID选择器 > 类选择器 > 标签选择器

       标签选择器         优先级为1

          类选择器           优先级为10

          ID选择器           优先级为100

          行内样式            优先级为1000

    大家记住这个这个层叠行就好理解了

    层叠性: 权重的标签覆盖掉了权重小的标签,说白了 ,就是被干掉了
    权重: 谁的权重大,浏览器就会显示谁的属性

    谁的权重大? 非常简单就是小学的数数。

    数:id的数量 class的数量 标签的数量,顺序不能乱

    数:id的数量 class的数量 标签的数量,顺序不能乱

    head>
    <meta charset="UTF-8">
    <title>层叠</title>
    <style>
    /*这个时候就是看你的id 和class的优先级了*/
    /*1 0 0 */显示红色
    #box{

    color:red;
    }
    /*0 1 0*/
    .container{
    color:green;
    }
    /*0 0 1*/
    p{
    color:peru;
    }
    </style>
    </head>
    <body>
    <p id="box" class="container">老王在哪里</p>

    </body>

    上面的效果就是显示红色的 因为id的权重大于class和标签选择器

    eg:

    #box{
        color: red;
    }
    .con{
        color: yellow;
    }
    p{
        color: peru;
    }
    
    
    
    <p id="box" class="con">老王在哪里</p>

    显示效果就是id修饰的红色

    是不是感觉明白了呢?好的,再给大家加深点难度。

    <head>
        <meta charset="UTF-8">
        <title>层叠</title>
        <style>
            #box1 #box2{
                color:yellow;
            }
            box2 .wrap3 p{
                color:red;
            }
              div div #box3 p{
                  /*这个是直接对id 中的p指定的颜色所以就是这个 */
                color:purple;
            }
            div .wrap1 div .wrap2 div .wrap3 p{
                color:blue;
            }
        </style>
    </head>
    <body>
    <div id="box1" class="wrap1">
        <div id="box2" class="wrap2">
            <div id="box3" class="wrap3">
                <p>再来猜猜吾乃什么颜色</p>
            </div>
        </div>
    </div>
    </body>
    
    
    
    
    第二种:
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
    
            /*2 0 1*/
            #box1 #box2 p{
                color: red;
            }
            /*2 1 1*/
            #box1 #box2 .wrap3 p{
                color: yellow;
            }
            /*0 3 4*/
            div.wrap1 div.wrap2 div.wrap3 p{
                color: green;
            }
            
            /*3 0 1*/
            #box1 #box2 #box3 p{
                color: pink;
            }
    
        </style>
    </head>
    <body>
        
        <div id='box1' class="wrap1">
            <div id="box2" class="wrap2">
                <div id="box3" class="wrap3">
                    <p>再来猜猜我是什么颜色?</p>
                </div>
            </div>
        </div>
    </body>
    层叠深入

    我们还是要看权重的 就是看看哪个的权重更高:

    权重一样的是可以付覆盖的,后来者居上

    <head>
        <meta charset="UTF-8">
        <title>权重</title>
        <style>
            #box2 .wrap3 p{
                color:yellow;
            }
            /*当权重一样的时候后来者居上*/
            #box1 .wrap2 p{
                color:red;
            }
        </style>
    </head>
    <body>
    <!-- 当权重一样的 后来者居上 -->
    <div id="box1" class="wrap1">
        <div id="box2" class="wrap2">
            <div id="box3" class="wrap3">
                <p>再来看看我的颜色</p>
            </div>
        </div>
    </div>
    </body>
    权重一样后来者居上

    1.先看标签元素有没有被选中,如果选中了,就数数 (id,class,标签的数量) 谁的权重大 就显示谁的属性。权重一样大,后来者居上
    2.如果没有被选中标签元素,权重为0。
    如果属性都是被继承下来的 权重都是0 。权重都是0:"就近原则" : 谁描述的近,就显示谁的属性


    3.继承来的,描述的一样近,数权重
    4.继承来的,描述的一样近,权重一样,后来者居上

    被继承来的是没有权重的 所以后来的可以覆盖继承来的

    <head>
        <meta charset="UTF-8">
        <title>权重</title>
        <style>
            #box1 #box2 .wrap3{
                /*继承wrap3的颜色*/
                color:red;
            }
            #box1 .wrap3 p{
                color:green;
    
            }
        </style>
    </head>
    <body>
    <!--如果属性都是被继承下来的 权重都是0 。权重都是0:"就近原则" : 谁描述的近,就显示谁的属性-->
    <div id="box1" class="wrap1">
        <div id="box2" class="wrap2">
            <div id="box3" class="wrap3">
                <p>再来看看我</p>
            </div>
        </div>
    </div>
    
    </body>
    继承的颜色

    小总结一下:

    总结:
    1.先看标签元素有没有被选中,如果选中了,就数数 (id,class,标签的数量) 谁的权重大 就显示谁的属性。权重一样大,后来者居上
    2.如果没有被选中标签元素,权重为0。
    如果属性都是被继承下来的 权重都是0 。权重都是0:"就近原则" : 谁描述的近,就显示谁的属性

  • 相关阅读:
    [component]button skin–按钮组件外观
    as3 图片平滑方法
    SOLVED: Right Click in AS3
    一个超高效的不规则物体碰撞检测的类
    flex中的css应用
    控制时间间隔
    用flash cs3美化flex3之skin开发
    AS3实现RPG游戏鼠标8方向操作
    log4net basic example write to file
    观察者模式(C#实现 + eventhandler)
  • 原文地址:https://www.cnblogs.com/zhaoyunlong/p/9079231.html
Copyright © 2020-2023  润新知