last-child, last-of-type是CSS3新增的结构伪类选择器,这两者功能相似,如果不仔细区分,可能会造成使用上的误解。现在举例说明这两者的区别,
选来看一下以下例子
例1
<body>
<div>
<p>第一行</p>
<p>第二行</p>
<p>第三行</p>
</div>
</body>
针对以上代码段:
p:last-child ,p:last-of-type将会配置到<p>第三行</p>
例2
但针对以下代码段
<body>
<div>
<p>第一行</p>
<p>第二行</p>
<p>第三行</p>
<span>我是测试行</span>
</div>
</body>
p:last-child 将不能匹配任何对象,p:last-of-type将会配置到<p>第三行</p>
所以现在明白了吗?
last-child 是指匹配的对象是其所在的父元素的最后一个元素
last-of-type是指匹配的对象是其所在的父素的最后一个相同类型元素