【问题标题】:Is there a way to break table rows in pairs using CSS?有没有办法使用 CSS 成对打破表格行?
【发布时间】:2025-12-19 03:10:09
【问题描述】:

假设您有一个有两行的表。但是由于某种原因,您无法知道容器的大小,并且您希望它破裂。然而,奇数行和偶数行粘在一起是至关重要的。换句话说,而不是得到这个: 我想得到这个:

有没有可能用 CSS 实现这种效果?

【问题讨论】:

  • 这将完全违背表结构的概念。我认为你可以让桌子反应灵敏以避免这种不适。
  • @Ratheesh 我知道没有响应技巧可以实现这一点,除了可能为不同的视口重新排序元素,但这似乎很麻烦——尤其是有很多动态生成的内容。
  • 如果你有很多动态内容会很麻烦。在您的服务器端/客户端代码中,您可以保留下一个损坏行的数据并在下一次迭代中添加它。仍然不是一个好方法。

标签: html css html-table


【解决方案1】:

我确实做到了!配方很简单:

  1. 您需要应用this thread 中的解决方案,将table 显示属性更改为block,并将inline-block 用于td 元素。

  2. 对于每对垂直的单词,你都排成一行。在每一行中放置一个表格,其中有 2 行和 1 个单元格。上面的单词进入上排单元格,另一个进入下排单元格。

调整窗口大小以查看表格如何自动换行。

#wrappable {
  display: block;
}
#wrappable td {
  display: inline-block;
}
<table id="wrappable">
  <tr>
    <td>
      <table>
        <tr><td>Column 1 – upper row</td></tr>
        <tr><td>Column 1 – bottom row</td></tr>
      </table>
    </td>
    <td>
      <table>
        <tr><td>Column 2 – upper row</td></tr>
        <tr><td>Column 2 – bottom row</td></tr>
      </table>
    </td>
    <td>
      <table>
        <tr><td>Column 3 – upper row</td></tr>
        <tr><td>Column 3 – bottom row</td></tr>
      </table>
    </td>
    <td>
      <table>
        <tr><td>Column 4 – upper row</td></tr>
        <tr><td>Column 4 – bottom row</td></tr>
      </table>
    </td>
    <td>
      <table>
        <tr><td>Column 5 – upper row</td></tr>
        <tr><td>Column 5 – bottom row</td></tr>
      </table>
    </td>
  </tr>
</table>

轰隆隆!完成!它在 Firefox 64.0.2 中完美运行,即使在该表上完成了转换。

【讨论】:

  • 您能否展示一下这是如何使用纯 CSS 将上面的图像 1 转换为图像 2(通过一个确切的例子)?
  • @Roko C. Buljan 为什么选择纯 CSS?我只是想在不为每个容器宽度更改表的逻辑结构的情况下实现这一点。我用纯 HTML 和 CSS 实现了这一点。
  • 你在这种状态下的回答与上述(你的)问题无关。
  • @RokoC.Buljan 我不明白。它完全符合问题的要求。
最近更新 更多