(CSS):last-child不起作用的原因

今天写了个CSS的测试样例,代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>伪类选择器</title>
    <style type="text/css">
        .div-01:last-child{
            color: red;
        }
    </style>
</head>
<body>
    <div class="div-01">
        <p class="p-01">
            同
        </p>
    </div>

    <div class="div-01">
        <p class="p-01">
            志
        </p>
    </div>

    <div class="div-01">
        <p class="p-01">
            们
        </p>
    </div>
    <p>
        辛
    </p>

    <p>
        苦
    </p>
</body>
</html>

原本觉着,选择器会选中

    <div class="div-01">
        <p class="p-01">
            们
        </p>
    </div>

可结果出乎我的意料,我们重新理解一下last-child选择器,在CSS标准中的含义

:last-child    p:last-child    选择属于其父元素最后一个子元素每个 <p> 元素。

选择其父元素最后一个子元素,每个<p>元素,根据这段话我们能否发现:div-01对应父元素是body,而body最后一个子元素是 

    <p>
        苦
    </p>

而我的选择器是:

.div-01:last-child

p对应的类与选择器不匹配,自然就选择不上了。

posted @ 2018-05-06 01:18  MyFantasy  阅读(15264)  评论(0编辑  收藏  举报