我有一个元素列表,它们的样式如下所示:

ul {
    list-style-type: none;
    text-align: center;
}

li {
    display: inline;
}

li:not(:last-child):after {
    content:' |';
}
<ul>
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
    <li>Four</li>
    <li>Five</li>
</ul>

输出One | Two | Three | Four | Five |而不是One | Two | Three | Four | Five

有人知道如何用CSS Select 除最后一个元素之外的所有元素吗?

你可以看到:not() Select 器here的定义

推荐答案

如果not Select 器有问题,可以设置所有选项并覆盖最后一个选项

li:after
{
  content: ' |';
}
li:last-child:after
{
  content: '';
}

或者如果你以前可以使用,就不需要最后一个子元素了

li+li:before
{
  content: '| ';
}

Css相关问答推荐

视频覆盖不适用于reactjs样式的组件

R SHINY:FILL CONTAINER=TRUE时调整DT数据表高度,

这个 CSS :is() Select 器没有像我想象的那样工作

为什么 :focus 会覆盖 :focus-visible ?

应用边框半径的 iframe 在 4 个角上有细曲线

在 React 中使用 CSS 动画 onClick()

如何使代码块输出在 quarto revealjs 演示文稿中水平滚动

Mat table - 保留第一列和复选框

Vue.js 变量中的动态类变量

清除 CSS 中已设置的填充属性以恢复 SVG 的默认值

如何在 Tailwind 中使用 `margin: y x;` 速记?

我怎样才能将我的按钮向上移动,因为文本是

我无法覆盖 react ui 库中的组件样式

在活动状态下更改按钮的外观

页脚上方的图像分隔线使用 ::before 伪元素

css3比例周围的空白

如何强制 div 出现在下方而不是旁边?

CSS3 变换:旋转;在 IE9 中

css 中的 clearfix 类有什么作用?

脉动的心脏 CSS 动画