css-选择器

常用选择器`

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style type="text/css">
        /*
            id选择器
            -通过元素的id属性值选中唯一的一个元素-语法:
            #id属性值{(}
        */

        /*
            类选择器
                -通过元素的class属性值选中一组元素
                -语法:
                    .class属性值{}
        */

        /*
            选择器分组(并集选择器)
                -通过选择器分组可以同时选中多个选择器对应的元素
                -语法:选择器1,选择器2,选择器N{门l
        */

        /*
            通配选择器
                -他可以用来选中页面中的所有的元素
                -语法:*{}
            *{
            color: red;
        }        
        */

        /*
            复合选择器(交集选择器)
                作用:可以选中同时满足多个选择器的元素
                语法:
                    -选择器1选择器2选择器N{}

            为拥有class p3 span元素设置一个背景颜色为黄色
            span.p3{
                background-color: yellow;
                    }
            
            对于id选择器来说,不建议使用复合选择器


        */


        #p1 {
            font-size: 20px;
        }

        .p2 {
            color: red;
        }

        .hello {
            font-size: 50px;
        }
    </style>


</head>

<body>

    **<!--
        我们可以为元素设置class属性,
        class属性和id属性类似,只不过class属性可以重复
        拥有相同class属性值的元素,我们说他们是一组元素
        可以同时为一个元素设置多个class属性值,多个值之间使用空格隔开
    -->**

    <h1>悯农</h1>
    <p id="p1">锄禾日当午</p>
    <p class="p2">锄禾日当午</p>
    <p class="p2">锄禾日当午</p>
    <p class="p2 hello">锄禾日当午</p>
    <p>锄禾日当午</p>


</body>

</html>

复合选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        /*将class为red的元素设置为红色(字体)*/
        .red{
            color: red;
            }
        /*将class为red的div字体大小设置为30px*/
        /*
            交集选择器
            作用:选中同时复合多个条件的元素
            语法:选择器1选择器2选择器3选择器n{}
                注意点:
                    交集选择器中如果有元素选择器,必须使用元素选择器开头

        */
        
        div.red{
            font-size: 30px;
                }
            
        .a.b.c{
            color: blue;
        }

        /*
            
            选择器分组(并集选择器)
            作用:同时选择多个选择器对应的元素
            语法:选择器1,选择器2,选择器3,选择器n{}

        */
        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>
</html>

关系选择器

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        /*
            为div的子元素span设置一个字体颜色红色
            (为div直接包含的span设置一个字体颜色)

            子元素选择器
                作用:选中指定父元素的指定子元素
                语法:父元素>子元素

        */

        /*
        div.box>span {
            color: orange;
        }
        */

        /*
            后代元素选择器:
                作用:选中指定元素内的指定后代元素
                语法:祖先后代
        */

        /*
        div span{
            color: skyblue;
        }
        */

        /*
        选择下一个兄弟
        语法:前一个+下一个

        选择下边所有的兄弟
        语法:兄 ~ 弟


        */
        p+span{
            color: red;
        }




    </style>



</head>

<body>

    <!--
        父元素
            -直接包含子元素的元素叫做父元素子元素
            -直接被父元素包含的元素是子元素祖玫元素
            -直接或间接包含后代元素的元素叫做祖先元素-一个元素的父元素也是它的祖先元素
            后代元素
            -直接或间接被祖先元素包含的元素叫做后代元素-子元素也是后代元素
            兄弟元素
            -拥有相同父元素的元素是兄弟元素
     -->


    <div class="box">
        我是一个div
        <p>
            我是div中的p元素
            <span>我是p元素中的span</span>
        </p>
        <span>我是div中的span元素</span>
        <span>我是div中的span元素</span>
        <span>我是div中的span元素</span>
        <span>我是div中的span元素</span>
    </div>

    <span>
        我是div外的span元素
    </span>



</body>

</html>

属性选择器

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>

        /*
            [属性名]选择含有指定属性的元素
            [属性名=属性值]选择含有指定属性和属性值的元素
            [属性名^=属性值]选择属性值以指定值开头的元素
            [属性名$=属性值]选择属性值以指定值结尾的元素
            [属性名*=属性值]选择属性值中含有某值的元素的元素


        */

        /*
            p[title]
            p[title=abc]
            p[title^=abc]
            p[title$=abc]
        */
        
        p[title*=abc]{
            color: orange;
        }

    </style>



</head>

<body>

    
    <p title="abc">少小离家老大回</p>
    <p title="abcdef">乡音无改鬓毛衰</p>
    <p title="hellloabc">儿童相见不相识</p>
    <p>笑问客从何处来</p>
    <p>秋水共长天一色</p>
    <p>落霞与孤鹜齐飞</p>



</body>
</html>

伪类选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <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()否定伪类
                -将符合条件的元素从选择器中去除


            */


        /*要用:first-of-type,因为第一个元素是span*/
        /*
        ul > li:first-child{
            color: red;
        }
        */
        ul > li:not(:nth-of-type(3)){
            color: yellowgreen;
        }
        


    </style>

</head>
<body>
    
    <ul>
        <span>我是第一个span</span>
        <li>第0个 </li>
        <li>第一个</li>
        <li>第二个</li>
        <li>第三个</li>
        <li>第四个</li>
        <li>第五个</li>
    </ul>
        

</body>
</html>

伪元素选择器

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        /* 
            伪元素,表示页面中一些特殊的并不真实的存在的元素(特殊的位置)
            伪元素使用 ::开头
            ::first-letter表示第一个字母
            ::first-line表示第一行 
            ::selection表示选中的内容

         */
        p::first-letter {
            font-size: 50px;
        }

        p::first-line {
            background-color: yellow;
        }

        p::selection {
            background-color: greenyellow;
        }

        /* 
            ::before元素的开始
            ::after元素的最后
                - before和 after必须结合content属性来使用

         */
        
        div::before{
            content: 'abc';
            color: red;
        }

        div::after{
            content: 'abc';
            color: blue;
        }

    </style>

</head>

<body>

    <div>Hello Hello How are you</div>

    <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Atque velit modi veniam nisi veritatistempore laborum nemo ipsa itaque optio. 
        ld odit consequatur mollitia excepturi, minus saepenostrum vel porro.
    </p>

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值