:not(:last-child)可精准选中除最后一个子元素外的所有同级元素,基于DOM结构位置判断,动态增删元素时仍可靠,适用于列表、表单等需中间元素加间隔的场景。

用 :not(:last-child) 可以精准选中除最后一个子元素外的所有同级元素,这是最简洁、语义清晰的写法。
:not(:last-child) 是伪类组合:先匹配所有子元素,再排除掉满足 :last-child 条件的那个。它不依赖序号或计数,只看 DOM 结构中的实际位置,因此动态增删元素时依然可靠。
div > p:not(:last-child))display: none)仍生效,因为它基于结构而非渲染状态常用于列表项、表单项、卡片等需要“中间元素加间隔”的设计:
ul li:not(:last-child) { border-bottom: 1px solid #eee; }
.btn-group .btn:not(:last-child) { margin-right: 8px; }
form > *:not(:last-child) { border-bottom: 1px solid #ddd; }
:not(:last-child) 在所有现代浏览器中都支持(包括 IE9+),无需前缀。若需兼容 IE8 及更早版本,则无法使用 :not(),可改用 :first-child 配合相邻兄弟选择器(+)逐个处理,但代码冗长且不易维护。
:not() 和 :last-child,只能靠 JS 或额外 class 控制:not(:last-of-type) —— 它按元素类型(如 p、div)判断“最后”,可能不符合预期*:not(:last-child),通配符性能较差,建议限定具体标签或类名:not(:last-child) 可与其他伪类叠加,实现更精细控制:
:is() 或 JS 过滤更稳妥,CSS 本身无原生“可见”伪类):nth-child(odd) 组合:选中奇数位中非最后一个的元素:li:nth-child(odd):not(:last-child)
.nav-link:not(:last-child) 比泛泛的 a:not(:last-child) 更安全以上就是css如何选择除最后一个外的元素_结合not与last child的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号