zoukankan      html  css  js  c++  java
  • css详解1

    1、css的三种引入方式:

    1.1、行内引入

    <div style="color:red;">魔降风云变</div>
    <html>
    <head>
        <meta charset="UTF-8"></head>
    <body>
        <div style="color:red;">魔降风云变</div>
    </body>
    </html>

    用的是行内的

    <html>
    <head>
        <meta charset="UTF-8"></head>
        <style>
            #box{
                color:gold;
            }
        </style>
    <body>
        <div id="box" style="color:red;">魔降风云变</div>
    </body>
    </html>

    没有找到它的样式

    1.2内嵌式:

    head中写    
    <style>
            #box{
                background-color: gold;
            }
        </style>
    <head>
        <meta charset="UTF-8"></head>
        <style>
            #box{
                background-color: gold;
            }
        </style>
    <body>
        <div id="box" style="color:red;">魔降风云变</div>
    </body>

    换了就有了,不能覆盖,优先级没它高

    1.3外接式:

    外接式是定义在head标签中,并且不在style中。

    <link href="css/index.css" rel="stylesheet" >

     index.css文件

    #box{
        background-color: black;
    }
    <html>
    <head>
        <meta charset="UTF-8"></head>
        <style>
            #box{
                background-color: gold;
            }
        </style>
        <link rel="stylesheet" href="css/index.css">
    <body>
        <div id="box" style="color:red;">魔降风云变</div>
    </body>
    </html>

    1.4、三种样式的优先级

    行内样式>内嵌式和外接式
    内嵌式和外接要看谁在后面,在后面的优先级高,会覆盖前面的。

    2、基础选择器

    2.1、id选择器

    唯一的

    #xxx

     id选择器就是在标签里面加个id,可以和class同名  #id名字{css}

    <html>
    <head>
        <meta charset="UTF-8"></head>
        <style>
            .box{
                 200px;
                height: 200px;
                background-color: yellow;
            }
            .active{
                border-radius: 4px;
            }
            #box{
                color:blue;
            }
        </style>
    
    <body>
        <div class="box active" id="box">小马过河</div>
        <hr>
        <div class="box"></div>
        <hr>
        <div class="box"></div>
    </body>
    </html>

    2.2、类选择器

    可以重复,归类,类也可以设置多个

    .xxx
    <html>
    <head>
        <meta charset="UTF-8"></head>
        <style>
            .box{
                 200px;
                height: 200px;
                background-color: yellow;
            }
            .active{
                border-radius: 200px;
            }
        </style>
    
    <body>
        <div class="box active"></div>
        <div class="box"></div>
        <hr>
        <div class="box"></div>
    </body>
    </html>

    border-radius边框圆角,似乎当边框圆角和正方形div的宽高一致的时候就会成圆形
            .active{
                border-radius: 40px; #将200改为40
            }

     2.3标签选择器

    标签{css}
    div{} p{}

     作用于多个相同标签

    <html>
    <head>
        <meta charset="UTF-8"></head>
        <style>
            .box{
                 200px;
                height: 200px;
                background-color: yellow;
            }
            .active{
                border-radius: 4px;
            }
            #box{
                color:blue;
            }
            div{
                border: 1px solid #000;
            }
        </style>
    
    <body>
        <div class="box active" id="box">小马过河</div>
        <hr>
        <div class="box"></div>
        <hr>
        <div class="box"></div>
    </body>
    </html>

     

    使用场景一(a标签):

    取消所有a标签的默认下划线

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            a{
                text-decoration: none;
            }
        </style>
    </head>
    <body>
        <a href="www.baidu.com">百度</a>
        <a href="www.baidu.com">百度</a>
        <a href="www.baidu.com">百度</a>
        <a href="www.baidu.com">百度</a>
        <a href="www.baidu.com">百度</a>
    </body>
    </html>

    使用场景二(重新设置边框):

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        用户名:<input type="text">
    </body>
    </html>

    添加标签选择器,取消边框

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            input{
                border: none;
            }
        </style>
    </head>
    <body>
        用户名:<input type="text">
    </body>
    </html>

    鼠标放到那个位置点击一下,又出现蓝色框,这个被叫做外线:

    去掉外线,这样默认的线都没了,可以重新设置边框:

            input{
                border: none;
                outline: none;
            }

    重新设置边框:

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            input{
                border: none;
                outline: none;
            }
            #mcw{
                border:9px solid #0000cc ;
            }
        </style>
    </head>
    <body>
        用户名:<input id="mcw" type="text">
    </body>
    </html>

            #mcw{
                border:9px solid #0000cc ;
                height: 60px;
            }
    

    给边框加个高度,字体的高度还是没有变化   

     将字体设置大点:

            #mcw{
                border:9px solid #0000cc ;
                height: 60px;
                font-size: 30px;
            }

     和别人的框比起来,别人的框文字在左右不能到边,下面设置一下

            #mcw{
                border:9px solid #0000cc ;
                height: 60px;
                font-size: 30px;
                padding: 0 100px; #第一个表示上下,第二个表示左右,内部填充,边框长度也加了,
            }

    3、盒模型

    3.1、

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            #box{
                 200px;
                height:200px;
                background-color: red;
        </style>
    </head>
    <body>
        <div id="box" class="box" >魔降风云变</div>
    </body>
    </html>

    盒模型200*200

    3.2、pading设置一个值,上下左右。

    <style>
    #box{
    200px;
    height:200px;
    background-color: red;
    padding: 50px;
    }
    </style>

    pading设置上下左右各50px内边距,一个值。盒子大小变成300*300

    如果我在div中加些字,如果不设置pading。默认内部子元素都在左上角开始显示,。所以通过pading可以调整内部子元素的位置。一个元素也叫一个标签。

    再添加一个边界  border    ,盒子加锁边框大小变成了308*308

        <style>
            #box{
                 200px;
                height:200px;
                background-color: red;
                padding: 50px;
                border: 4px solid #000;
                }
        </style>

    如果我想保持盒子大小,那么我要调整pading,border,和盒子高度宽度的大小。

    302*302

            #box{
                 200px;
                height:200px;
                background-color: red;
                padding: 50px;
                border: 1px solid #000;
                }

    3.3pading两个值,表示上下和左右

            #box{
                 200px;
                height:200px;
                background-color: red;
                padding: 0 20px; #上下0,左右20.0px可以省略px
                border: 1px solid #000;
                }

    3.4、pading三个值,表示上 左右 下

            #box{
                 200px;
                height:200px;
                background-color: red;
                padding: 0 20px 30px; /* 0上  20左右  30下
                border: 1px solid #000;
                }

     3.5、pading四个值,表示 上 右  下 左 ,

            #box{
                 200px;
                height:200px;
                background-color: red;
                padding: 10px 20px 30px 40px;  /*上 右  下 左  顺时针*/
                border: 1px solid #000;
                }

    3.6、pading单独设置一个方向 

            #box{
                 200px;
                height:200px;
                background-color: red;
                padding-top: 20px;
                border: 1px solid #000;
                }

    单独设置pading-top ,文字在盒子里往下挤了。单独左边增加,文字往右走;  此外还有其他

    pading

    pading-top

    pading-bottom

    pading-left

    pading-right

    3.7盒子设置magin

            #box{
                 200px;
                height:200px;
                background-color: red;
                padding-top: 20px;
                margin-left: 30px;
                border: 1px solid #000;
                }

     左边加个30的margin,盒子边框整体右移。

    盒子body本身还有8px的大小

    4、标签嵌套关系

    4.1标签的嵌套关系之块级标签

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            .box{
                 200px;
                height:200px;
                background-color: yellow;
                }
        </style>
    </head>
    <body>
        <div class="box" ></div>
    </body>
    </html>

    块级标签特点:独占一行,可以设置宽高,如果不设置宽,默认是父标签的100%宽度。

    块级标签属性:display

    p标签的使用这个样式,p标签上下还有16的margin。

     

    body 上下左右浏览器默认设置8px的margin

    块级标签,比如div。块级标签display的属性值默认是block,浏览器内置的,默认给div设置的。

    块级标签可以将display修改掉,将它修改为inline。

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            .box{
                 200px;
                height:200px;
                background-color: yellow;
                display: inline;
                }
        </style>
    </head>
    <body>
        <div class="box" ></div>
        <p class="box"></p>
    </body>
    </html>

    没有显示东西:

    因为么有添加内容呢

    <body>
        <div class="box" >魔降风云变</div>
        <p class="box">小马过河</p>
    </body>

    就像将它们变成了span标签一样,不好使

    4.2、标签的嵌套关系之行内标签

    行内标签特点:1、在一行内显示 2、不可以设置宽高,如果不设置宽高,默认是字体大小 

        <style>
            .box{
                 200px;
                height:200px;
                background-color: yellow;
                display: inline;
                }
        </style>
    </head>
    <body>
        <div class="box" >魔降风云变</div>
        <p class="box">小马过河</p>
        <a href="www.baidu.com">百度一下</a>
        <span>小郭吹雪</span>
    </body>

    如果div标签,p标签都和 a标签和span标签都在一行内显示,证明块标签转行内标签是没有问题的。这里块转行内标签了。块转行内用的不多,但是行内转块用的比较多。

    如果我给行内标签加个宽度和高度,没有生效的。

        <style>
            a{
                 100px;
                height: 40px;
                background-color: red;
            }
        </style>
    </head>
    <body>
        <a href="www.baidu.com">百度一下</a>
        <span>小郭吹雪</span>
    </body>

    行内标签不能设置宽高

    如果我想要设置行内标签的宽度和高度,那么把行内标签改成块标签

            a{
                 100px;
                height: 40px;
                background-color: red;
                display: block;
            }

    再给a标签设置一下

            a{
                 100px;
                height: 40px;
                background-color: red;
                display: block;  /*显示方式 block 显示块  inline 显示行内  inline-block 行内块*/
                text-align: center; /*水平文本排列方式 :左中右显示*/
                line-height: 40px; /*行高:一行的高度。当行高=盒子模型高度的时候,实现垂直居中*/
                text-decoration: none; /*文本修饰: none 无修饰  underline 下划线  line-through 有点像删除线 */
                color: #333333;
            }

    给a标签水平居中,垂直居中,去下划线,设置颜色

    修改一下测试text-decoration: line-through; 有点像删除线

    放大点看

    用标签del实现删除线效果:

    <body>
        <!--<div class="box" >魔降风云变</div>-->
        <!--<p class="box">小马过河</p>-->
        <a href="www.baidu.com">百度一下</a>
        <del>小马过河</del>
        <span >小郭吹雪</span>
    </body>

    4.3行内标签之行内块标签

     行内块标签特点:1、在一行内显示 2、可以设置宽高

    <html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <span >小郭吹雪</span>
        <input type="text">
        <input type="text">
    </body>
    </html>

            input{
                 40px;
                height: 60px;
            }
        </style>

    给input添加宽和高之后,也可以变高,变宽,因为它是行内块,这样看来行内块也是可以设置宽度和高度的。

    行内块使用演示
    <html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <span id="s1">小郭吹雪</span>
        <span id="s2">小马过河</span>
    </body>
    </html>

    两个行内标签span结果:

        </style>        
       #s1{height: 40px;display: block;background-color: #d33333;}
    </style>    

    如上设置为块则会换行

     

    如果设置为行内块则同行显示。当同行中某部分要设置宽度、高度且不换行的时候可以设置为行内块

     #s1{height: 40px;display: inline-block;background-color: #d33333;}

    #s1{ 60px;height: 40px;display: inline-block;background-color: #d33333;}

    当再添加宽度的时候,宽度不够,这个是换行了吗?但是其它内容还是跟它在同行,

     问题:行内标签能包裹一个块么?比如  a标签不能设置宽高,包一个块标签能撑起来么?是撑不起来的。行内标签不能放块,有个别例外的。也可以把块变成行内块,行内块是放到行内的。块里面可以包行内。div里面可以包div,可以包a标签。a里面可以包image,因为image是行内块,是行内的,可以先把a标签转成块的。

    比如如下栗子:

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            #tu{
                 200px;
                height: 100px;
            }
        </style>
    </head>
    <body>
        <a href="">
        <img src="dongwu.jpg" alt="" id="tu">
        </a>
    </body>
    </html>

    行内标签a包行内块image,可以包着,但是难以撑起来。但是点击图片任一部位还是可以跳转的。

     

    可以给a标签变成块

            a{
                 200px;
                height: 100px;
                display: block;
            }

    4.4嵌套关系总结:

      块级标签可以嵌套块级标签、行内标签和行内块

      p标签不要嵌套div,也不要嵌套p,

        p里可以放 a img 表单控件

      行内标签尽量不要嵌套块级标签

    比如例外的p标签

    <body>
        <p>
            小马过河
            <div>魔降风云变</div>
        </p>
    </body>

    浏览器修改掉了:

    所有不要p包div,可以用div去包p。

     网页大多是图片和文字,所以一般最内层的标签大都是a标签和span这些标签

     5、高级选择器

    5.1、后代选择器

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            #box p{color: red}
        </style>
    </head>
    <body>
        <div id="box">
            <div>
                <div>
                    <div>
                        <p>
                            魔降风云变
                        </p>
                    </div>
                </div>
            </div>
        </div>
    </body>
    </html>

    后代选择器和单独用p标签的区别:后代选择器限定了选择区间,哪个div下的哪个标签。限定了独立的逻辑区 。

    一般嵌套也不能嵌套太多层,一般是不超过8层,超过8层写代码都费劲。

    如果我修改一下#box p{color: red} 为#box p a{color: red} ,p下的a标签也可以的

    p内包一个a标签
                        <p>
                            <a href="">魔降风云变</a>
                        </p> 
    
    
    #box p a{color: red}

    5.2、子代选择器

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            #box>p{color: red}  /*子代选择器*/
        </style>
    </head>
    <body>
        <div id="box">
            <div>
                <div>
                    <div>
                        <p>
                            魔降风云变
                        </p>
                    </div>
                </div>
            </div>
            <p>
                小马过河
            </p>
        </div>
    </body>
    </html>

     子代选择器只能作用于它本身下的那一层。魔降风云变不是子代,所以子代选择器不能作用于魔降风云变。

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            #box>p>a{color: red}
    
        </style>
    </head>
    <body>
        <div id="box">
            <div>
                <div>
                    <div>
                        <p>
                            <a href="">魔降风云变</a>
                        </p>
                    </div>
                </div>
            </div>
            <p>
                <a href="">小马过河</a>
            </p>
        </div>
    </body>
    </html>

    子代选择器也可以连续>,但是不宜太多

    5.3组合选择器

    很多标签都有margin。

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            #box{color: red}
        </style>
    </head>
    <body>
        <div id="box">
            <p>
                <a href="">小马过河</a>
            </p>
            <ul>
                <li>锄禾</li>
                <li>当午</li>
                <li>千门万户曈曈日</li>
            </ul>
        </div>
    </body>
    </html>

    ul标签有margin和pading,ol也有。body有8pxmargin,p标签也有margin。

    很多标签都有margin,你不确定它是多少呀,这样的话布局不好计算,那就把它们都去掉。

    我添加个组合选择器,我们已经这些p,ul,ol,body都有margin,那就都选中,让这些标签组合起来共用一套样式。把这几个设置为0然后后面重新设置被叫做重置样式

        <style>
            p,ul,ol,body{
                margin: 0;
                padding: 0;
            }
        </style>

    去掉之后都定格写了

    可以重置样式的有:也可以把a标签的下划线重置样式。

            p,ul,ol,body{
                margin: 0;
                padding: 0;
            }
            input,textarea{
                border: none;
                outline: 0;
            }

    重置样式,去掉所有的margin和padding。然后在画布上按照自己的想法去画。常用。

    比如小米的网站重置margin

     5.4、交集选择器

    两个选择器作用于同样的内容

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            span{color: #d33333}
            .active{font-size: 20px}
        </style>
    </head>
    <body>
        <p>正常字体</p>
        <span class="active">小马过河</span>
    </body>
    </html>

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            span{color: #d33333}
            .active{font-size: 20px}
            span.active{
                background-color: gold;}
        </style>
    </head>
    <body>
        <p>正常字体</p>
        <span class="active">小马过河</span>
        <span class="active">小马过河2</span>
        <span >魔降风云变1</span>
        <a href="" class="active">魔降风云变2</a>
    
    </body>
    </html>

     交集span.active{},既是span标签,又有类active的可以被选中。中间不要隔开,隔开就不生效了

     

    6、css的继承

     6.1继承实例演示

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            p{color: red}
        </style>
    </head>
    <body>
        <div id="box">
            <p class="active">魔降风云变</p>
        </div>
    </body>
    </html>

    这样字体肯定是红色的

    但是如果装饰的是父的呢?字体也是红的么?同样是红的。#box{}作用的是div,但是p标签也变红了。

        <style>
            #box{color: red}
        </style>

    <div id="box">
    <p class="active">魔降风云变</p>
    </div>

    看开发工具可看见p标签的继承来自哪里:

    那么还有没有其他的可以被继承的属性呢

           #box{
                color: red;
                height: 40px;
                text-align: center;
            }

    可以看到height是浅红色,没有继承过来。高是盒子模型的属性,不能继承

     

    行高不是盒子属性,那么行高可以被继承么?

            #box{
                color: red;
                height: 40px;
                text-align: center;
                line-height: 80px;
            }

    可以继承行高

    继承性:在css有某些属性是可以继承下来,color,text-xxx,line-height,font-xxx是可以继承下来

    如下:

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            #box{
                color: red;
                height: 40px;
                text-align: center;
                line-height: 30px;
                background-color: yellow;
                font-size: 26px;
            }
            p{
                background-color: red;
                color: greenyellow;
            }
        </style>
    </head>
    <body>
        <div id="box">
            <p class="active">魔降风云变</p>
        </div>
    </body>
    </html>

    继承来的字体是26px。bgc不能被继承过来,自己设置了红色背景,给p标签。p标签继承来的行高30,div的高是40,所以黄色漏出10px高度。

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            body{font-size: 14px}
            #box{
                color: red;
                height: 40px;
                text-align: center;
                line-height: 30px;
                background-color: yellow;
                font-size: 26px;
            }
            p{
                background-color: red;
                color: greenyellow;
            }
        </style>
    </head>
    <body>
        <div id="box">
            <p class="active">魔降风云变</p>
        </div>
        <a href="">小马过河</a>
    </body>
    </html>

    body14,box26,继承了box的26.

    用的p标签自己的,没用

     

    没用那几个继承的,用的p标签自己的。

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            body{font-size: 14px}
            #box{
                color: red;
                height: 40px;
                text-align: center;
                line-height: 30px;
                background-color: yellow;
                font-size: 26px;
            }
            #box p{
                background-color: red;
                color: greenyellow;
                font-size: 20px;
            }
        </style>
    </head>
    <body>
        <div id="box">
            <p class="active">魔降风云变</p>
        </div>
        <a href="">小马过河</a>
    </body>
    </html>

    由下图可知,用的#box p{}装饰的。这里尽量用#box p{}指定哪里p标签。而不是其它div下的p标签。body和box可以继承过来,但是我需要单独给它写,就选中它单独为它赋值,覆盖掉父的属性。这里用的是后代选择器。因为有继承关系,那么我们就应该给body设置一个样式作为默认样式。当某一部分需要单独设置,那么选中这一部分单独设置。于是,就出现了一个问题,就是继承的顺序是什么?

     6.2继承顺序问题

     下面程序,看看结果是继承哪个的呢?

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
     
        </style>
    </head>
    <body>
        <div id="box1" class="wrap1">
            <div id="box2" class="wrap2">
                <div id="box3" class="wrap3">
                    <p id="active" class="active" >魔降风云变</p>
                </div>
            </div>
        </div>
    </body>
    </html>

    首先是:<p class="active">魔降风云变</p> ,style 直接写在行内的优先级最高,那么这里只研究内嵌中的继承顺序。

    样式如下的时候结果是红色:

    <style>
            p{color: red}
        </style>

    样式有了重叠性。当标签选择器和类选择器同时在的时候,类选择器覆盖了标签选择器的:

        <style>
            p{color: red}
            .active{color: yellow}
        </style>

     是类选择器和标签选择器放的位置先后导致的么?那么我调换顺序试试:

        <style>
            .active{color: yellow}
            p{color: red}
        </style>

    结果还是现实类选择器的。由上可知,内嵌样式中,继承的顺序是类选择器优先于标签选择器,实际类选择器权重10,标签选择器权重1

    当标签选择器,类选择器,id选择器都在时,显示的是id选择器里的。 #id选择器的权重实际上是100,权重更大些。在行内写的style是1000

        <style>
            #active{color: blue}
            .active{color: yellow}
            p{color: red}
        </style>

    上面三个里id选择器权重最大,优先级高,那我用它再来做比较:

        <style>
            #active{color: blue}
            #box1 p{color: yellowgreen} /*#box1下的 p标签*/
        </style>
    

    结果是下面那个优先。类选择器#active{}是100, #box1 p{}类选择器是100+1=101的权重,优先于单独的类选择器。 

    再看下面的优先级:

        <style>
            #active{color: blue}
            #box1 p{color: yellowgreen} /*#box1下的 p标签*/
            #box1 .wrap2 .wrap3 p{color: gold}
        </style>

    先比id,之前id选择器没有的把它去除掉了;然后再看id选择器后面的选项,结果是下面那个优先

    再看下面的:

        <style>
            #active{color: blue}
            #box1 p{color: yellowgreen} /*#box1下的 p标签*/
            #box1 .wrap2 .wrap3 p{color: gold}
            #box1 #box2 {color: green}
        </style>

    结果还是gold。gold和green对比:它们都有id选择器。继承来的权重为0#box1 #box2 {color: green},如果选中p标签了的,就按这个规则来,如果没有选中,那就看继承不继承,跟继承没关系那就忽略掉。继承的权值为0,那么如果是同时继承来的怎么办呢?

    看下面这个

        <style>
            #box1 #box2 {color: green}
            #box1 #box2  .wrap3{color: brown}
        </style>

    越接近的权值越大

    6.3继承总结

    综上

    继承性:在css有某些属性是可以继承下来,color,text-xxx,line-height,font-xxx是可以继承下来

    权重比较规则:

    继承来的属性权重为0

    前提是选中了标签权重比较;

      1.数选择器数量: id 类 标签 谁大它的优先级越高,如果一样大,后面的会覆盖掉前面的属

      2.选中的标签的属性优先级用于大于继承来的属性,它们是没有可比性

      3.同是继承来的属性

        3.1 谁描述的近,谁的优先级越高

        3.1 描述的一样近,这个时候才回归到数选择器的数量

     6.4其它继承栗子

    1)

        <style>
            #box1 .wrap2 .wrap3 p{color: gold} #100 10 10 1
            #box1 #box2  .wrap3{color: brown}  #100 100 10 权值大,如何解释???
        </style>

    2)

        <style>
            #box1 .wrap2 .wrap3 p{color: gold}
            #box1 #box2  .wrap3 p{color: brown} #权值大
        </style>

    或者
        <style>
        #box1 #box2  .wrap3 p{color: brown}   # 100 100 10 1  #权值大
        #box1 .wrap2 .wrap3 p{color: gold}    #100 10 10 1
            
        </style>

    3)

        <style>
            #box1 .wrap2 #box3 p{color: gold}   #100 10 100 1
            #box1 #box2  .wrap3 p{color: brown}  #100 100 10 1 权值相等,谁在后就是谁么?
        </style>

        <style>
            #box1 #box2  .wrap3 p{color: brown} #100 100 10 1 
            #box1 .wrap2 #box3 p{color: gold}  #100 10 100 1  权值相等么?
        </style>

    在这种情况下谁在下面就是谁

     4)数选择器 两个优先级高的id选择器

        <style>
            #box1 .wrap2  .wrap3{color: gold}  #调换过顺序没有变
            #box1 #box2  .wrap3 {color: brown}
        </style>

     5)!importent不常用,大多调试

        <style>
            #box1 .wrap2  .wrap3{color: gold !important;}
            #box1 #box2  .wrap3 {color: brown}
        </style>

    6)即使!important也比不过行内的

        <style>
            #box1 .wrap2  .wrap3{color: gold !important;}
            #box1 #box2  .wrap3 {color: brown}
        </style>
    
    
     <p id="active" class="active" style="color:blueviolet">魔降风云变</p>

     调试的话可以用行内的来调试

    
    
    
  • 相关阅读:
    HDU 3081 Marriage Match II
    HDU 4292 Food
    HDU 4322 Candy
    HDU 4183 Pahom on Water
    POJ 1966 Cable TV Network
    HDU 3605 Escape
    HDU 3338 Kakuro Extension
    HDU 3572 Task Schedule
    HDU 3998 Sequence
    Burning Midnight Oil
  • 原文地址:https://www.cnblogs.com/machangwei-8/p/10940449.html
Copyright © 2011-2022 走看看