CSS3基础和层级选择器

一、CSS3基础

二、层级选择器

(1)子代选择器

<style>
        /* .box1 li{
            border: 1px solid hotpink;
        } 
        这么写会给所有的后代都加上边框线(包括子二代) */
        /* 子代选择器 */
        .box1>li{
            border: 1px solid indigo;
        }
        /* 给它加上>号 只给box1下面的子一代li加上边框线 */
    </style>
</head>
<body>
    <ul class="box1">
        <li>11111
            <ul>
                <li>11111-111</li>
                <li>11111-222</li>
                <li>11111-333</li>
            </ul>
        </li>
        <li>22222</li>
        <li>33333</li>
    </ul>

<style>
 .child~li{
            background-color: teal;
        }
        /*
        .child~li{
            background-color: teal;
        } 
        表示找到当前节点同级的所有兄弟标签并给其加上背景颜色 */
        /*
        .child+li{
            background-color: teal;
        } 
        表示找到当前节点同级的下一个兄弟标签并给其加上背景颜色
        要注意的一点是,它只能往后查找,不能向前找 */
</style>


<body>
        </li>
        <li class="child">22222</li>
        <li>33333</li>
        <li>44444</li>
        <li>55555</li>
    </ul>


<style>
.container+p{
            background-color: greenyellow;
        }
        /* 选择同级节点下的第一个,即p-1111 */
        .container~p{
            background-color: rgb(21, 107, 146);
        }
        /* 同级节点下的所有p标签,即p-1111和p-2222(简单理解成div下面同辈p的标签)
        没有给p-3333加上背景颜色,是因为这是另一个div里的孩子标签(属于兄弟标签中的子标签),不属于同级节点
        */
</style>


<body>
<div class="container">div-1111111</div>
    <p>p-1111</p>
    <p>p-2222</p>
    
    <div>
        <p>p-33333</p>
    </div>
</body>

源码:

<!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>

        /* .box1 li{

            border: 1px solid hotpink;

        }

        这么写会给所有的后代都加上边框线(包括子二代) */

        /* 子代选择器 */

        .box1>li{

            border: 1px solid indigo;

        }

        /* 给它加上>号 只给box1下面的子一代li加上边框线 */

        .child~li{

            background-color: teal;

        }

        /*

        .child~li{

            background-color: teal;

        }

        表示找到当前节点同级的所有兄弟标签并给其加上背景颜色 */

        /*

        .child+li{

            background-color: teal;

        }

        表示找到当前节点同级的下一个兄弟标签并给其加上背景颜色

        要注意的一点是,它只能往后查找,不能向前找 */

        .container+p{

            background-color: greenyellow;

        }

        /* 选择同级节点下的第一个,即p-1111 */

        .container~p{

            background-color: rgb(21, 107, 146);

        }

        /* 同级节点下的所有p标签,即p-1111和p-2222(简单理解成div下面同辈p的标签)

        没有给p-3333加上背景颜色,是因为这是另一个div里的孩子标签(属于兄弟标签中的子标签),不属于同级节点

        */

    </style>

</head>

<body>

    <ul class="box1">

        <li>11111

            <ul>

                <li>11111-111</li>

                <li>11111-222</li>

                <li>11111-333</li>

            </ul>

        </li>

        <li class="child">22222</li>

        <li>33333</li>

        <li>44444</li>

        <li>55555</li>

    </ul>

    <div class="container">div-1111111</div>

    <p>p-1111</p>

    <p>p-2222</p>

   

    <div>

        <p>p-33333</p>

    </div>

</body>

</html>

 

 


版权声明:本文为weixin_57936267原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。