【发布时间】:2013-03-01 18:20:45
【问题描述】:
我有一个非常棘手的 HTML 问题,我不确定是否有基于 CSS 的解决方案。基本上我有一个三列网格。第一列和第三列可以包含可变数量的行。第二列总是正好有一行。每行都有一个最小高度。
因此,行数最多的列会将高度设置为最小高度的所有行。其他列中的行应在高度上等量扩展以占用剩余空间。
假设第一列有三行,每行 50 像素高。第二列必须有一行 150 像素高。如果第三列有 2 行,则每行必须为 75px 高。下面是一些图片来进一步说明我所追求的。
这甚至可以通过 CSS 实现吗?
【问题讨论】:
-
您可以使用标准的“css 等高列”解决方案,然后在这些列中添加 50/50 和 33/33/33 div 以进一步细分。
-
@MarcB 不,他不能这样做,因为他在 div 中有未定义的行数。难道他不能事先划分高度。这看起来需要 javascript。
-
@sven: 足够真实,但是 js 会简单地在 CSS 中动态设置 height=totalheight/#rows。等列包装器仍然有效
-
@OP:你需要相同的行数,还是只需要三个相邻的 div 的高度相同?
-
第一列和第三列的行数是独立的,可以是 1 到 5 之间的任意值。所以第一列可以有 2 行,第三列可以有 5 行。第二列总是有 1 行。单列中的所有行必须具有相同的高度。