📅  最后修改于: 2023-12-03 15:35:55.216000             🧑  作者: Mango
CSS 中的“子选择器”(>
)用来选择某个元素的直接子元素,例如:
nav > ul {
/* 选择 nav 下的 ul 元素 */
}
而有时我们需要选择的子元素并不一定是最后一个,此时就需要用到“非最后一个子选择器”(:not(:last-child)
)了。
:not()
伪类用来选择不满足括号内条件的元素,而:last-child
伪类用来选择最后一个子元素。
因此,:not(:last-child)
用于选择不是最后一个子元素的元素。
例如,我们有如下 HTML 结构:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
如果要选择除最后一个元素外的所有元素,可以这样写 CSS:
ul > li:not(:last-child) {
/* 选择 ul 下除最后一个 li 元素外的所有 li 元素 */
background-color: yellow;
}
效果如下:
使用 :not(:last-child)
时需要注意以下几点:
:not(:last-child)
只会选择不是最后一个子元素的元素,包括空元素。如果只有一个子元素,则不会选择任何元素。:not(:last-child)
的兼容性良好,但不支持 IE8 及以下版本。:not(:last-child)
,可以考虑其他方式实现相同的效果。以上就是如何使用“非最后一个子选择器”选择 CSS 中的非最后一个子元素的方法,希望对你有所帮助!