• CSS的继承性和层叠性


    继承性:

      面向对象语言都会存在继承的概念,在面向对象语言中,继承的特点:继承了父类的属性和方法,CSS也有继承性,但是只有属性。

      继承:给父级设置一些属性,子级会继承该父级的属性,这就是CSS中的继承。

      可以继承的属性:color,font-*,text-*,line-*。主要是文本级的标签元素。

      像一些盒子元素,定位的元素,就不能继承。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>继承性和层叠性</title>
        <style>
            /*给.d2设置颜色,p会继承颜色*/
            .d1 .d2{
                color: red;
            }     
        </style>
    </head>
    <body>
        <div class="d1">
            <div class="d2">
                <p>你好</p>
            </div>
        </div>
    </body>
    </html>

    层叠性:
      权重大的标签会覆盖掉权重小的标签。

      id>class>标签

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>层叠性</title>
        <style>
            #box{
                color: red;
            }
            .p1{
                color: green;
            }
            p{
                color: yellow;
            }
        </style>
    </head>
    <body>
        <p id="box" class="p1">你好</p>
    </body>
    </html>

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
    /*        #box1 #box2 {
                color: red;
            }
    
            #box2 #box3 {
                color: pink;
            }
            div div #box3 {
                color: black;
            }    
        
            div div #box3 {
                color: blue
            }
            div.wrap1 div.wrap2 div.wrap3{
                color: green;
            }*/
            #box2 #box3 {
                color:     yellow;
            }
    
            .wrap2 .wrap3 {
                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>
    </html>

    总结:先找哪个找的离目标最近,如果一样近,就先比较id数量,若id数量一致,再比较类数量。

        没有选中标签元素,权重都是0,遵循就近原则。

    important的使用: 

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            #box1 .wrap2 {
                color:     yellow !important;
            }
    
            .wrap1 #box2 {
                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>
    </html>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            #box1 .wrap2 {
                color:     yellow !important;
            }
    
            .wrap1 #box2 {
                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>
    </html>

      在同级的情况下,(!important)可以将权重设置为无限大!

      !important 不影响继承来的权重,只影响选中的元素。不要随便使用!important,因为使用它会影响页面的布局

  • 相关阅读:
    Android相对布局中控件的常用属性【转】
    Android:仿微信设置菜单
    Android:scrollview与listview共存
    感想12.26
    (C#)GDI+绘制垂直文字
    10.14 近期小结
    学习C++的忠告
    C# TCP学习笔记
    C#读书笔记(4)—重学数组
    近期学习计划 12.23
  • 原文地址:https://www.cnblogs.com/stfei/p/9079759.html
Copyright © 2020-2023  润新知