:last-of-type

Avatar of Sara Cope
Sara Cope

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 价值 200 美元的免费积分!

:last-of-type 选择器允许您定位元素在其容器内的最后一个出现。 它在 CSS 选择器级别 3 规范 中定义为“结构伪类”,这意味着它用于根据其与父级和同级内容的关系来设置内容样式。

假设我们有一篇文章,包含标题、几个段落和一张图片。

<article>

<h1>A Title</h1>

  
Paragraph 1.
  
Paragraph 2.
  
Paragraph 3.
  <img src="...">
</article>

我们想让最后一个段落变小,以充当内容的结论(例如编辑说明)。 而不是为它提供一个类,我们可以使用 :last-of-type 来选择它。

p:last-of-type {
  font-size: 0.75em;
}

使用 :last-of-type:nth-child 非常相似,但有一个关键区别:不太具体。 在上面的示例中,如果我们使用 p:nth-last-child(1),将不会发生任何事情,因为该段落不是其父级(

)的最后一个子级。 这揭示了 :last-of-type 的强大功能:它以与类似同级的关系,而不是所有同级的方式定位特定类型元素的特定排列。

以下更完整的示例演示了 :last-of-type 和一个相关的伪类选择器 :first-of-type 的使用。

Check out this Pen!

其他资源

浏览器支持

Chrome Safari Firefox Opera IE Android iOS
有效 3.2+ 有效 9.5+ 9+ 有效 有效

:last-of-type 在 CSS 选择器模块 3 中引入,这意味着旧版本的浏览器不支持它。 但是,现代浏览器支持非常完美,并且新的伪选择器在生产环境中被广泛使用。 如果您需要更旧的浏览器支持,请 为 IE 使用 polyfill,或者使用渐进增强的方式在非关键情况下使用这些选择器,这是推荐的做法。