css选择器

1、常用选择器

  • 元素选择器

                    作用:根据标签名来选中指定的元素

                    语法:标签名{}

                    例子:p{}  h1{}  div{}

  • id选择器

                    作用:根据元素的id属性值选中一个元素

                    语法:#id属性值{}

                    例子:#box{} #red{}

  • 类选择器

                    作用:根据元素的class属性值选中一组元素

                    语法:.class属性值

    class 是一个标签的属性,它和id类似,不同的是class可以重复使用

                可以通过class属性来为元素分组

                可以同时为一个元素指定多个class属性

  • 通配选择器

                    作用:选中页面中的所有元素

                    语法: *

        <h1 class="blue abc">我是标题</h1>
        <p>少小离家老大回</p>
        <p>乡音无改鬓毛衰</p>
        <p id="red">儿童相见不相识</p>
        <p>笑问客从何处来</p>
        <!-- 
            class 是一个标签的属性,它和id类似,不同的是class可以重复使用
                可以通过class属性来为元素分组
                可以同时为一个元素指定多个class属性
        -->
        <p class="blue">秋水共长天一色</p>
        <p class="blue">落霞与孤鹜齐飞</p>
    *{
                color: red;
            }

    2、复合选择器

  •     <style>
            /* 将class为red的元素设置为红色(字体) */
            .red{
                color: red;
            }
    
            /* 将class为red的div字体大小设置为30px */
            /* 
                交集选择器
                    作用:选中同时复合多个条件的元素
                    语法:选择器1选择器2选择器3选择器n{}
                    注意点:
                        交集选择器中如果有元素选择器,必须使用元素选择器开头
            */
            div.red{
                font-size: 30px;
            }
    
            .a.b.c{
                color: blue
            }
    
            /* div#box1{} */
    
            /*
                选择器分组(并集选择器)
                    作用:同时选择多个选择器对应的元素
                    语法:选择器1,选择器2,选择器3,选择器n{}
    
                    #b1,.p1,h1,span,div.red{}
             */
            h1, span{
                color: green
            }
    
        </style>
    </head>
    <body>
        <div class="red">我是div</div>
    
        <p class="red">我是p元素</p>
    
        <div class="red2 a b c">我是div2</div>
    
        <h1>标题</h1>
    
        <span>哈哈</span>
    
        
    </body>

    3、关系选择器

  •  
        <style>
            /* 
                为div的子元素span设置一个字体颜色红色
                (为div直接包含的span设置一个字体颜色)
    
                子元素选择器
                    作用:选中指定父元素的指定子元素
                    语法:父元素 > 子元素
             */
    
            /* div.box > span{
                color: orange;
            } */
    
            /* 
                后代元素选择器:
                    作用:选中指定元素内的指定后代元素
                    语法:祖先 后代
             */
             /* div span{
                 color: skyblue
             } */
    
             /* div > p > span{
                 color: red;
             } */
    
             /* 
                选择下一个兄弟
                    语法:前一个 + 下一个
                选择下边所有的兄弟
                    语法:兄 ~ 弟
              */
    
              p + span{
                  color: red;
              }
    
    
              p ~ span{
                  color: red;
              }
        </style>
    </head>
    <body>
    
        <!-- 
            父元素
                - 直接包含子元素的元素叫做父元素
            子元素
                - 直接被父元素包含的元素是子元素
            祖先元素
                - 直接或间接包含后代元素的元素叫做祖先元素
                - 一个元素的父元素也是它的祖先元素
            后代元素
                - 直接或间接被祖先元素包含的元素叫做后代元素
                - 子元素也是后代元素
            兄弟元素
                - 拥有相同父元素的元素是兄弟元素
    
         -->
    
    
        <div class="box">
            我是一个div
            <p>
                我是div中的p元素
                <span>我是p元素中的span</span>
            </p>
            <div></div>
            <span>我是div中的span元素</span>
            <span>我是div中的span元素</span>
            <span>我是div中的span元素</span>
            <span>我是div中的span元素</span>
    
        </div>
    
        <span>
            我是div外的span
        </span>

    4、属性选择器

  • <style>
            /* 
                [属性名] 选择含有指定属性的元素
                [属性名=属性值] 选择含有指定属性和属性值的元素
                [属性名^=属性值] 选择属性值以指定值开头的元素
                [属性名$=属性值] 选择属性值以指定值结尾的元素
                [属性名*=属性值] 选择属性值中含有某值的元素的元素
             */
            /* p[title]{ */
            /* p[title=abc]{ */
            /* p[title^=abc]{ */
            /* p[title$=abc]{ */
            p[title*=e]{
                color: orange;
            }
        </style>
    </head>
    <body>
            <p title="abc">少小离家老大回</p>
            <p title="abcdef">乡音无改鬓毛衰</p>
            <p title="helloabc">儿童相见不相识</p>
            <p>笑问客从何处来</p>
            <p>秋水共长天一色</p>
            <p>落霞与孤鹜齐飞</p>
    </body>

    5、伪类选择器

  • <style>
            /* 
                将ul里的第一个li设置为红色
             */
    
    /* 
            伪类(不存在的类,特殊的类)
                - 伪类用来描述一个元素的特殊状态
                    比如:第一个子元素、被点击的元素、鼠标移入的元素...
                - 伪类一般情况下都是使用:开头
                    :first-child 第一个子元素
                    :last-child 最后一个子元素
                    :nth-child() 选中第n个子元素
                        特殊值:
                            n 第n个 n的范围0到正无穷
                            2n 或 even 表示选中偶数位的元素
                            2n+1 或 odd 表示选中奇数位的元素
    
                        - 以上这些伪类都是根据所有的子元素进行排序
    
                    :first-of-type
                    :last-of-type
                    :nth-of-type()
                        - 这几个伪类的功能和上述的类似,不通点是他们是在同类型元素中进行排序
    
                - :not() 否定伪类
                    - 将符合条件的元素从选择器中去除
     */
            /* ul > li:first-child{
                color: red;
            } */
        
            /* ul > li:last-child{
                color: red;
            } */
    
            /* ul > li:nth-child(2n+1){
                color: red;
            } */
    
            /* ul > li:nth-child(even){
                color: red;
            } */
    
            /* ul > li:first-of-type{
                color: red;
            } */
    
            ul > li:not(:nth-of-type(3)){
                color: yellowgreen;
            }
        </style>
    </head>
    <body>
        
        <ul>
            <span>我是一个span</span>
            <li>第〇个</li>
            <li>第一个</li>
            <li>第二个</li>
            <li>第三个</li>
            <li>第四个</li>
            <li>第五个</li>
        </ul>

上一篇:Vue的生命周期


下一篇:微软推出GSL 4.0.0 更新