zoukankan      html  css  js  c++  java
  • CSS3-选择器

      一. 元素选择器

    <style type="text/css">
        p{
            color: red;
            font-size: 30px;
        }
    </style>

      对页面的此元素都采用此样式。

      二. ID选择器

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style type="text/css">
                #d1{
                    color: red;
                    font-size: 30px;
                }
            </style>
        </head>
        <body>
            <div id="d1">
                
            </div>
        </body>
    </html>

      记住,id 具有唯一性。通常 一个ID对应一个元素。

      三.类选择器

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style type="text/css">
                .c1{
                    color: red;
                    font-size: 30px;
                }
                .c2{
                    height: 30px;
                }
            </style>
        </head>
        <body>
            <ul>
                <li class="c1 c2"></li>
                <li class="c1"></li>
                <li></li>
            </ul>
        </body>
    </html>

      class属性也用在多个元素上

      四. 通配符选择器

    *{
            color: red;
            font-size: 30px;
    }

      作用当前页面所有的元素

      五. 复合选择器

        (1)交集选择器;语法:选择器1选择器2选择器3....{};当选择器中出现元素选择器,则必须放在第一个位置;以下面为例子:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style type="text/css">
                span.c1{
                    color: red;
                    font-size: 30px;
                }
            </style>
        </head>
        <body>
            <ul>
                <span class="c1"></span>
                <li class="c1 c2"></li>
                <div class="c1"></div>
            </ul>
        </body>
    </html>

      当满足 元素为 span 且class="c1"的时候,此元素才会被样式所修饰。有的像 && 且的意思

        (2)并集选择器;语法:选择器1,选择器2,选择器3....{};只要符合任意一个选择器,就会被样式所修饰。如下:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style type="text/css">
                .c1,.c2,.c3{
                    color: red;
                    font-size: 30px;
                }
            </style>
        </head>
        <body>
            <ul>
                <span class="c1"></span>
                <li class="c1 c2"></li>
                <div class="c3"></div>
            </ul>
        </body>
    </html>

      有点像 || 或的意思。

      六. 关系选择器

      说关系选择器之前,给大家说下 父元素,子元素,祖先元素,后代元素,以下面为例子:

            <ul>
                <div id="">
                    <p>
                        <span></span>
                    </p>
                </div>
            </ul>     

      父元素和子元素,如上面的 ul 和 div ,div和p , p和span

      祖先元素和后代元素,如上面的 ul 和 div ,ul 和 p ,div 和span

      记住,父元素是属于祖先元素一部分;子元素也是属于后代元素的一部分。

      OK,说完上面4种元素,下面说选择器

      1. 子元素选择器

    div > p{
        color: red;
        font-size: 30px;
    }

      上面的选择器是作用于:div下面的子元素p;记住只有div下面的子元素p会被作用,再下面的p就不会作用了

      2. 后代选择器

    div  p{
        color: red;
        font-size: 30px;
    }

      上面的选择器是作用于:div下面的后代子元素p;即div下面所有的p

      3. 兄弟选择器(不常用);

        1. 下一个兄弟;语法: 前一个兄弟 + 后一个兄弟 {};记住作用于后一个兄弟元素;前一个兄弟元素只是作为参照物

    
    

    div + p{
      color: red;
      font-size: 30px;
    }

    <ul>
        <div id="">
            <p>
                <span></span>
            </p>
        </div>
        <p></p>
    </ul>

      作用于div 紧邻且下一个 元素p;这里注意两个词:紧邻 和 下一个;只有前一个兄弟元素div的紧邻且后面的元素p才会被选择

        2. 后面兄弟; 语法:兄 + 弟;兄元素后面的所有弟元素都被选择,如下:

    div ~ p{
        color: red;
        font-size: 30px;
    }
    
    <ul>
        <div id="">
            <p>
                <span></span>
            </p>
        </div>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
    </ul>

      七. 属性选择器

      

       八. 伪类选择器

      伪类选择器特别重要,也很好用。伪类强调的是 元素的状态;比如 元素排在第一个,元素在偶数位置,元素被点击时等等状态...

      直接举例子吧:

    ul > li:first-child{
        color: red;
        font-size: 30px;
    }
            </style>
        </head>
        <body>
    <ul>
        <li></li>
        <li></li>
        <li></li>
    </ul>

      伪类通常是要和另一个选择器来搭配使用的。比如上面的 li:first-child;而 ul > li:first-child 表示匹配ul下的第一个子元素是 li 的;这里的 first-child强调的是第一个位置,不关心元素的类型;与first-child具有同样性质的还有,last-child,nth-child(),有必要说下nth-child(),括号内是表示元素的位置,如 nth-child(3),即第三个位置;nth-child(n),即所有元素;nth-child(2n)/nth-child(even):偶数位元素;nth-child(2n+1)/nth-child(odd):奇数位元素;

      还有和first-child类似的还有 first-of-type,表示同类型中的第一个;以此类推还有last-of-type,nth-of-type()

      最后一个 :not() 否定伪类,即符合条件的元素都不被此样式所修饰,比如:

    ul > li:not(:nth-child(3)){
        color: red;
        font-size: 30px;
    }

      ul 下面第3个li 的元素,将不被样式修饰

      接着说下a标签的伪类,这个比较经典了,如下:

       九. 伪元素

  • 相关阅读:
    maven
    ELK
    gitlab 升级
    平安工作流程
    平安云应用场景
    nginx基于uwsgi部署Django (单机搭建)
    ansible
    nginx理论
    GIT
    docker(三)
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/15417526.html
Copyright © 2011-2022 走看看