• css选择器的优先级


    版权声明:本文为博主原创文章,未经博主允许不得转载。

     

    Css01

    一、CSS简介
      a)Cascading Style Sheets 层叠样式表(级联样式表)
      b)是一个文本文件,不需要编译 由浏览器直接执行
      c)作用是 定义网页外观 如 字体,背景,等。。。
      d)可以配合JavaScript做出绚丽的效果
    二、CSS 特点
      a)精确的定位准确的控制页面的任何元素
      b)精细的控制可以做到像素级别的调整
      c)样式与内容分离便于维护,便于重用
    三、使用方法
      1.内联
      写在标签内的style属性中的叫做内联
      例如: <p style="color:yellow">祖传牛皮癣,专治老中医</p>

      2.内嵌
      写在head标签的style标签中的属性叫做内嵌
      例如:
      <style>
        p{color:red;}
      </style>
      3.外联
      通过外部引入的方式使用
      例如:<link rel=”stylesheet” type=”text/css” href=”./css.css”/>
    四、基础语法
      1.CSS 格式选择器负责圈定范围,要修改的元素集合声明由属性名和属性值组成,中间用冒号连接(属性名:属性值),用于设定具体样式CSS组成由选择器和一个或多个声明组成,多个声明之间用分号选择器{属性名:属性值;属性名:属性值;}

      2.CSS 注释Html 注释 <!-- -->样式表里面的注释就一种/* 这里面是注释内容 */注释不能嵌套
      3.单位
        a)长度单位
          i.em 倍数
          ii.px: pixel 像素 屏幕上显示的最小单位 用于网页设计。
          iii.PPI(DPI)每英寸的像素点 是一个率 表示了 清晰度 精度
          iv.Pt 是一个标准的长度单位 1pt=1/72英寸 用于印刷行业公式: px = pt*DPI/72;v.cm/mm 厘米/毫米

        b)颜色单位
          i.英文名: red green blue 。。。。。
          ii.十六进制rgb #000000 - #ffffff
          iii.Rgb 数字 (0-255) rgb(255,0,0)   百分比(0-100%) rgb(100%,0%,0%)
        c)URL地址
          1.不用引号 url(test.jpg)
          2.绝对路径 url(http://www.baidu.com/test.jpg)
          3.用单引号 url(‘./test.jpg’)
          4.用双引号url(“./test.jpg”)

    五、选择器
    1.HTML选择器就是使用html元素作为选择器  

      例如: p{color:red}
    2.ID选择器使用id值作为选择器
      使用方式: #id值{声明}
      例如:#duang{color:red;}
    3.Class选择器
      使用class值作为选择器
      使用方式:.class值{声明}
      例如:.butingke{color:red}
      注意:不要轻易使用id选择器 请多使用class选择器进行选择!
    4.关联选择器
      通过一级一级的向下查找得到唯一使用选择器
      每个选择器之间使用空格隔开
      例如: ul #zhangsan b{color:red}
    5.组合选择器
      多个选择器组合在一起中间使用逗号分隔
      例如:p,.pangzi{color:red}

    6.伪元素选择器
      a):link 未访问链接
      b):hover 鼠标移动到链接上时
      c):active 鼠标选中的链接
      d):visited 已访问的链接
      只有a标签有上面四种伪元素内容

      除a标签以外的文本标签现在只有两种伪元素内容分别为(hover,active)
      选择器的优先级: 关联选择器>id选择器>class选择器>html选择器
      你们下午做一下测试 查看一下上面的优先级是否和你测试的优先级一样
      排除上面的内容
      离得越近 优先级越高(就近原则)

    总结,两大点

    一 a标签伪类使用的时候是顺序的,不然有的效果出不来

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>伪类3</title>
        <style>
            /*1 a:link{color:black;}*/
            /*2 a:visited{color:gray;}*/
            /*3 a:hover{color:red;}*/
            /*4 a:active{color:blue;}*/
            /*顺序不能乱 lvha就按这个来*/
            a:link{color:black;}
            a:visited{color:green;}
            a:hover{color:red;}
            a:active{color:blue;}
    
            /*除a标签以外的文本现在只能有两个伪元素选择器*/
            .p:hover{color:green;}
            .p:active{color:blue;}
        </style>
                
                
    </head>
    <body>
        <h1 class="p">我不是a标签的文本标签,看看我的颜色有哪些变化</h1>
        <a href="1.1.html">2_css.html</a>
    </body>
    </html>

    二 选择器的优先级

    大部分都知道id大于class大于html标签 那么联合选择器和他们比那个优先级更高呢,我做了个小测试很有意思大家可以执行看看

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>联合选择器1</title>
        <style>
                li{color:red;}
                
                #a li b{color:blue;}
                #b{color:red;}
        </style>
    </head>
    <body>
            <ul id="a">
                <li>
                    联合选择器大于id<b id="b">大于id</b>
                </li>
                <li>
                    英雄联盟<b>英雄是寒冰最屌<b>!!!
                </li>
            </ul>
    </body>
    </html>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>联合选择器1</title>
        <style>
                li{color:red;}
                
                ul li b{color:blue;}
                #b{color:green;}
        </style>
    </head>
    <body>
            <ul id="a">
                <li>
                    联合选择器大于id<b id="b">大于id</b>
                </li>
                <li>
                    英雄联盟<b>英雄是寒冰最屌<b>!!!
                </li>
            </ul>
    </body>
    </html>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>联合选择器1</title>
        <style>
                li{color:red;}
                
                .c b{color:blue;}
                #b{color:green;}
                .c{color:#987654;}
        </style>
    </head>
    <body>
            <ul id="a">
                <li class="c">
                    联合选择器大于id<b id="b">大于id</b>
                </li>
                <li>
                    英雄联盟<b>英雄是寒冰最屌<b>!!!
                </li>
            </ul>
    </body>
    </html>

    第一次:我把b标签定义了两次,一个是联合选择器(有一个id两个标签选择器)个定义;       联合选择器大

    第二次:我把b标签定义了两次,一个是联合选择器(三个标签选择器)定义,一个是id定义;id大

    第三次:我把b标签定义了两次,一个是联合选择器(有一个class一个标签选择器)定义,一个是id定义;id大

    那么这其中有什么原理呢?

    我多次测试之后发现一个原理

    多个联合嵌套的,两个相同定义的比较

    先比id,谁id多听谁的;一样再比class谁class多听谁的;一样再比标签选择器,谁标签选择器多听谁的;都一样怎么办,就近原则谁近就听谁的

    选择中的,没有选择到的都对比了一下总结了一下就是以下图

  • 相关阅读:
    bzoj1081 [SCOI2005]超级格雷码
    bzoj3790 神奇项链
    bzoj2822 [AHOI2012]树屋阶梯
    bzoj1485 [HNOI2009]有趣的数列
    bzoj1486 [HNOI2009]最小圈
    bzoj2721 [Violet 5]樱花
    POJ 1238 Substrings
    ZOJ Team Formation
    POJ 1459 Power Network
    POJ 1458 Common Subsequence
  • 原文地址:https://www.cnblogs.com/yuhudashen/p/7246884.html
Copyright © 2020-2023  润新知