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,因为使用它会影响页面的布局

  • 相关阅读:
    socket发送文字、图片、文件---基于python实现
    python socket详解
    loadrunner socket协议问题归纳(6)
    Hash算法解决冲突的四种方法
    while循环 运算符和编码
    python初识
    js中forEach,for in,for of循环的用法详解
    设计模式之MVC和MVT
    mac 下的 tree 命令 终端展示你的目录树结构
    Mac查看进程
  • 原文地址:https://www.cnblogs.com/stfei/p/9079759.html
Copyright © 2011-2022 走看看