我得到了一个用 HTML/CSS 创建的设计,我认为这可能是不可能的,但在我承认失败并做出妥协之前,我想绝对确定。
许多包含可变长度文本的项目被排列成两组,这样它们形成列,其中列精确地分布在可用宽度上,但确保每列不比其最宽的项目宽。因此,它尽可能有效地使用水平空间,同时仍确保项目完美对齐为网格。考虑这个例子 -
[-a--] [-cccccc-] [-eee-] [-g---]
[-bb-] [-dddd---] [-ff--] [-hhh-]
也许这看起来像表格,但考虑到当容器缩小时这些项目也必须包装,并且列仍然保持它们的神奇对齐 -
[-a---] [-cccccc-]
[-bb--] [-dddd---]
[-eee-] [-g------]
[-ff--] [-hhh----]
我不知道如何解决宽度的递归依赖性。也就是说,每个“列”的宽度由该列中最长的项目定义,但总可用宽度是已知的,并且必须是列宽度的精确总和。
我很高兴使用仅 CSS3 的解决方案,回退到旧浏览器的固定项目宽度解决方案,但我完全不知道什么 CSS 属性可以实现这种魔力。
只是为了提供某种起点,这是一个使用 CSS3 列的 Codepen:http ://codepen.io/anon/pen/kiGgp
这不好,因为列分布均匀,我想知道是否有办法以最佳方式分布它们。