:last-chile的问题


<!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.father:first-child {
            color: blue;
        } */
        
        p.father:last-child {
            color: aquamarine;
        }
    </style>

</head>

<body>
    <article>
        <div class="father">
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
        </div>
    </article>
</body>

</html>

:last-child不起作用,把没有class属性的p标签去掉就可以用了。为什么呀?

跟这个没关系
p.father:last-child,这个选择器的生效条件其实是div最后一个子元素必须是p.father,可以看看这个基本条件的文档

img

改成这样试试


 
<!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.father:first-child {
            color: blue;
        } */
        div.father:last-child {
            color: aquamarine;
        }
    </style>
</head>
<body>
    <article>
        <div class="father">
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
        </div>
    </article>
</body>
</html>

:first-child之所以有效果是因为作用在一组兄弟元素中的第一个元素
:last-child 作用在父元素的最后一个子元素

标题把child拼错了吧

last-child是子元素的最后一个

 
<!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.father:first-child {
            color: blue;
        } */
        div.father :last-child {
            color: aquamarine;
        }
    </style>
</head>
<body>
    <article>
        <div class="father">
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p class="father">pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
            <p>pppppppppppppppppppppppppp</p>
        </div>
    </article>
</body>
</html>