【问题标题】:Line Between List Entries Spanning Multiple Columns跨越多列的列表条目之间的行
【发布时间】:2018-08-08 21:52:35
【问题描述】:

我有一个带有简单 CSS 样式的列表,可以在列表元素之间添加水平线,如下所示:

li:not(:last-child) {
  border-bottom: 1px solid black;
}

这很好用,除了现在我想将列表拆分为两列,我正在这样做:

ul {
  column-count: 2;
  column-width: 50%;
}

这样做的问题是左侧列底部的列表项有一个底部边框,因为:not(:last-child) 条件当然将整个列表视为一个连续序列,而不是两个单独的序列。

有没有一种方法可以构建 CSS 规则,使其不适用于多列元素中每列的最后一个元素,或者我可以使用一些解决方法?

就解决方法而言,我当然可以在页面生成期间将列表一分为二(在我的 PHP 脚本中),但我特别感兴趣是否有纯 CSS 解决方案。

为澄清起见,以下是上述内容的图片:

我想要做的是以通用方式(即不使用:not(:nth-child(4)) 等)删除第四个元素下的行。

【问题讨论】:

  • 请发一张愿望输出的图片。
  • @Stickers:我想我已经设法添加了一张显示当前外观的图像;我想要做的是从第四项下删除该行,但以通用方式(即不使用 :not(:nth-child(4)) 或类似方式。
  • 我怀疑这是否可以用 css 完成,类似的问题 stackoverflow.com/q/23082368/483779

标签: css


【解决方案1】:

尚未对此进行测试,但参考https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-child,您可以尝试以下方法:

li:not(:nth-last-child(1)),
li:not(:nth-last-child(2)) {
  border-bottom: 1px solid black;
}

【讨论】:

  • 这似乎对我没有任何作用;它的预期结果是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-16
  • 2010-12-21
  • 2022-11-26
  • 1970-01-01
  • 2013-04-29
相关资源
最近更新 更多