2.8学习CSS选择器总结

目录

基本选择器

CSS 元素选择器

CSS id 选择器

CSS 类选择器

 CSS 通用选择器

优先级

层次选择器

结构选择器

选择器1 选择器2:first-child

选择器1 选择器2:first-of-type

选择器1 选择器2:last-child

选择器1>选择器2:last-of-type

选择器1 选择器2:last-of-type

选择器1 选择器2:nth-child(num)

选择器1>选择器2:nth-child(num)

选择器1>选择器2:nth-of-type(num)

选择器:not(条件)


基本选择器

CSS 元素选择器

        元素选择器根据元素名称来选择 HTML 元素。

CSS id 选择器

        id 选择器使用 HTML 元素的 id 属性来选择特定元素。注意:id 名称不能以数字开头。

        元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!

        要选择具有特定 id 的元素,请写一个井号(#),后跟该元素的 id。

CSS 类选择器

        类选择器选择有特定 class 属性的 HTML 元素。

        如需选择拥有特定 class 的元素,请写一个句点(.)字符,后面跟类名。

        注意:类名不能以数字开头!

 CSS 通用选择器

        通用选择器(*)选择页面上的所有的 HTML 元素。

!important:是最高级别的,后面是不可修改,一般情况下,不推荐使用!important关键字提升优先级

优先级

      !important>行内样式>id选择器>类名选择器>标签选择器>通配符选择器

<!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>
        /* id选择器 */
        #para1{
                color:red;
                font-size: 20px;
        }
        /* 类选择器 */
        .test1{
            color: aqua;
        }
        /* 元素/标签 选择器 */
        h1{
            color: blue;
            font-size: 20px;
        }
        /* 通用选择器 */
        *{
            background-color: bisque;
            font-size: 50px !important; /* !important优先级最高,优先显示该属性 */
        }
    </style>
</head>
<body>
    <h1>标题111</h1>
    <p id="para1">段落111</p>
    <p class="test1">段落222</p>
    <p style="color: burlywood; font-size: 100px;">段落3 我是内联样式</p><!-- 内联样式 -->
</body>
</html>

层次选择器

        后代:标签1 标签2 {} ===> 选中标签1里面的标签2

        子代:标签1>标签2 {} ===> 选中标签1中的子代标签2

        注:后代可以包含子代,子代只能是父元素的第一层

        元素1+元素2 ===> 选中元素1后面第一个相邻的兄弟元素

        元素1~元素2 ===> 选中元素1后面所有的兄弟元素2

<!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{
            font-size: 50px;
        }
        /* 子代 */
        li>a{
            color: antiquewhite;
        }
        /* 类名为two的后代后面第一个相邻的li */
        .two+li{
            color: blue;
        }
        /* 类名为two后面的所有的兄弟元素li */
        .two~li{
            background-color: pink;
        }
    </style>
</head>
<body>
    <ul>
        
        <li><a href="">第1行</a></li>
        <li class="two">第2行</li>
        <li>第3行</li>
        <li>第4行</li>
    </ul>
    
</body>
</html>


结构选择器

选择器1 选择器2:first-child

===>在选择器1中选择第一个元素,并且该元素与选择器2选中的元素相同

         若不同,则设置的属性值无效

<!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{
            color: pink;
        }
    </style>
</head>
<body>
    <!-- 选择器1 选择器2:first-child===>在选择器1中选择第一个元素,并且该元素与选择器2选中的元素相同
            若不同,则设置的属性值无效
    -->
    <ul>
        <h1>我是第一个子元素,我不是li元素,用ul li:first-child{
            color: pink;}无效,我不会变粉</h1>
        <li>第1个</li>
        <li>第2个</li>
        <li>第3个</li>
        <li>第4个</li>
        <li>第5个</li>
    </ul>
    
</body>
</html>

选择器1 选择器2:first-of-type

===》在选择器1中选中所有的同级别的选择器2选中的元素,再找第一个出现的元素2

<!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>
        /* 选择器1 选择器2:first-of-type=》在选择器1中选中所有的同级别的选择器2选中的元素,再找第一个出现的元素2 */
    ul li:first-of-type{
        color: aqua;
    }
    </style>
</head>
<body>
    <ul> 
        <h1>111</h1>
        <li>第1个</li>
        <li>第2个</li>
        <li>第3个</li>
        <li>第4个</li>
    </ul> 
</body>
</html>

选择器1 选择器2:last-child

===》在选择器1中选择最后一个元素,并且该元素与选择器2选中的元素相同

选择器1>选择器2:last-of-type

=》在选择器1的子元素中选中和选择器2一样的元素,再找最后一个出现的元素

选择器1 选择器2:last-of-type

=》在选择器1的后代元素中选中和选择器2一样的元素,并在每代中再找最后一个出现的和选择器2一样的元素元素

<!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>
    /* 选择器1>选择器2:last-of-type=》在选择器1的子元素中选中和选择器2一样的元素,再找最后一个出现的元素 */
    ul>li:last-of-type{
        color: aqua;
    }
    /* 选择器1 选择器2:last-of-type=》在选择器1的后代元素中选中和选择器2一样的元素,并在每代中再找最后一个出现的和选择器2一样的元素元素 */
    ul li:last-of-type{
        background-color: blue;
    }
    </style>
</head>
<body>
    <ul>
        <li>第1个</li>
        <li>第2个
            <ol>
                <li>我是li里的li</li>
                <li>我是li里的li</li>
                <li>我是li里的li</li>
            </ol>
        </li>
        <li>第3个</li>
        <li>第4个</li>
    </ul>
</body>
</html>

选择器1 选择器2:nth-child(num)

=>在选择器1每一代后代中选择第num个元素,并且该元素与选择器2选中的元素相同

选择器1>选择器2:nth-child(num)

=>在选择器1中选择第num个元素,并且该元素与选择器2选中的元素相同

<!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>
    /* 选择器1>选择器2:nth-child(num)=>在选择器1每一代后代中选择第num个元素,并且该元素与选择器2选中的元素相同 */
        ul li:nth-child(2){
        color: aqua;
    }
    </style>
    
</head>
<body>
    <ul>
        <h1>1111</h1>
        <li>第1个</li>
        <li>第2个
            <ol>
                <li>我是li里的li</li>
                <li>我是li里的li</li>
                <li>我是li里的li</li>
            </ol>
        </li>
        <li>第3个</li>
        <li>第4个</li>
    </ul>
</body>
</html>

选择器1>选择器2:nth-of-type(num)

=>在选择器1每一代后代中选择第num个元素,并且该元素与选择器2选中的元素相同

<!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>
        /* 选择器1>选择器2:nth-of-type(num)=>在选择器1后代中选择与选择器2选中的元素相同的第num个元素*/
        ul>li:nth-of-type(2){
            color: aquamarine;
        }
        /* 选择器1>选择器2:nth-child(num)=>在选择器1中选择第num个元素,并且该元素与选择器2选中的元素相同 */
        ul>li:nth-child(2){
            font-size: 50px;
            background-color: chartreuse;
    }
    </style>
</head>
<body>
    <ul>
        <h1>1111</h1>
        <li>第1个</li>
        <li>第2个
            <ol>
                <li>我是li里的li</li>
                <li>我是li里的li</li>
                <li>我是li里的li</li>
            </ol>
        </li>
        <li>第3个</li>
        <li>第4个</li>
    </ul>
</body>
</html>

选择器:not(条件)

=》除了符合条件的选择器选中的其他元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值