【发布时间】:2019-08-07 21:43:47
【问题描述】:
不太清楚这个问题该如何措辞。我想要做的是允许在列中堆叠标签/数据对的布局。所以标记可能是:
<div>
<div class="label">hello</div>
<div class="data">world</div>
<div>
我想要在等宽列中的倍数,所以我使用 flexbox 并最终得到如下内容:
hello hello hello
world world world
当标签/对在标记流中一起读取时,这为我提供了易于访问的良好视觉效果。
工作正常。现在,问题是:标签可能会变得很长。所以我最终得到了这样的结果:
hello hello this hello
is a really
world long label world
world
而我真正想要的是:
hello hello this hello
is a really
long label
world world world
这对 flexbox 可行吗?我试图想出一些东西,但它并不完全存在:
我的直觉说不,这是不可能的,因为每列中的每一行都不了解相邻列中行的高度。但是当我对我学到的每一个新的 flexbox 感到惊讶时,我想我会问。
我意识到我可以通过将所有标签放在一行列中并将所有数据放在单独一行列中来完成这项工作,然后也许使用一些 ARIA 属性将它们绑定在一起以实现可访问性。也许这是最好的解决方案?
【问题讨论】:
-
对于您的结构,它无法完成(至少以干净的方式),因为您有许多嵌套的 div。如果您能够将所有元素置于同一级别,则可以做到
标签: css flexbox multiple-columns