:last-of-type选择同类型最后一个元素,如取消末段下边距;:nth-of-type(n)按顺序选第n个同类元素,可实现隔行变色或前几项加粗;二者结合能精准控制样式,减少冗余类名,提升维护性。

在CSS中,:last-of-type 和 :nth-of-type 是两个非常实用的结构伪类选择器,它们可以根据元素在父容器中的位置关系来精确选择目标元素。下面通过实际应用案例说明它们的用法和区别。
:last-of-type 会选中其父元素下同一类型标签的最后一个实例。这个“类型”指的是元素的标签名。
常见应用场景:p:last-of-type { margin-bottom: 0; }
如果一篇文章包含多个 <p> 标签,这样可以避免最后一个段落后留出多余空白。
立即学习“前端免费学习笔记(深入)”;
例如以下HTML:
<div> <p>段落1</p> <ul><li>列表1</li></ul> <p>段落2</p> <ul><li>列表2</li></ul> <ul><li>列表3</li></ul> <!-- 这个 ul 是 ul 类型的最后一个 --> </div>
使用:
ul:last-of-type { border: 2px solid blue; }
只有最后一个 <ul> 被选中并添加边框。
:nth-of-type(n) 可以根据元素在其父级中同类标签的顺序位置进行选择,支持数字、公式或关键字(如 even, odd)。
tr:nth-of-type(odd) { background-color: #f9f9f9; }
tr:nth-of-type(even) { background-color: #eee; }
即使表格中有 <tr class="header"> 或其他结构,也能正确按 tr 的顺序着色。
p:nth-of-type(-n+3) { font-weight: bold; }
这会匹配前3个 <p> 元素,常用于文章开头强调。
img:nth-of-type(2) { border-radius: 8px; }
页面中第二个 <img> 元素将被加上圆角。
有时可组合使用以实现更精细控制。例如:
只对非最后一个段落设置下边框:
p:not(:last-of-type) { border-bottom: 1px solid #ccc; }
这样每段之间有分隔线,但最后一段不会多出一条无意义的底线。
基本上就这些。合理使用 :last-of-type 和 :nth-of-type 能减少HTML中冗余的类名,让样式更智能、更易维护。关键是理解“类型”是指相同标签名在父元素内的排列顺序。不复杂但容易忽略细节。
以上就是css伪类:last-of-type与nth-of-type应用案例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号