zoukankan      html  css  js  c++  java
  • 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,因为使用它会影响页面的布局

  • 相关阅读:
    leetCode 42.Trapping Rain Water(凹槽的雨水) 解题思路和方法
    FizzBuzz and Fibonacci优化
    mysql 存储过程 演示样例代码
    《深入理解Android 卷III》第二章 深入理解Java Binder和MessageQueue
    jsp中URL传递中文參数的处理
    键盘录入多名学生的信息: 格式:姓名,数学成绩,语文成绩,英文成绩,按总分由高到低 将学生的信息进行排列到文件里
    iOS_block代码块
    自己动手写android图片异步载入库
    三分钟教你学Git(十三)
    文本文件打印类库(C#)
  • 原文地址:https://www.cnblogs.com/stfei/p/9079759.html
Copyright © 2011-2022 走看看