【发布时间】:2017-03-21 00:21:36
【问题描述】:
如何创建一个弹性框光栅,它在元素之间具有相等的垂直和水平空间,而元素填充每个 50% 的宽度?
项目之间的空间最好是固定大小(例如 3px),但我可以接受相对大小(例如 1%)。
高度应该灵活/流动,即适用于任意数量的方块/项目。
备注
- 不能使用 CSS 列,因为每一行的流应该从左到右(而不是向下)
- CSS 网格会很好,但也不能使用,因为我需要在移动设备上使用它(目前不支持)
- 所以不要拒绝这个问题,谢谢
首选结果:
我目前有的是这个,但是水平空间和垂直空间不一样。
目前的方法(不是很令人满意)
.-webcams {
display: flex;
flex-direction:row;
flex-wrap:wrap;
justify-content: space-between;
}
.-webcams a {
display: block;
flex-basis: 49.5%;
margin-bottom: .75vw;
}
【问题讨论】:
-
为什么有人给这个问题
-1?这种布局是 instagram 等应用程序中非常流行的用例,然而,解决方案并不是从 flexbox 中开箱即用的! - 如果这个问题不被投票,我会删除它! -
CSS 列、CSS Grid 和 CSS Table 具有类似 gap 的属性,而 flexbox 没有。有人投反对票的原因可能很多,但既然你已经有一段时间了,你应该知道发布一个最小的工作代码 sn-p,而不仅仅是 CSS,这可能是原因。图片很好地显示了想要的最终结果,如果您添加标记,我们可以看到并建议最合适的解决方案
-
谢谢,CSS Grid 会很好,但不能在手机上运行
-
谢谢@LGSon - 我现在为我的问题添加了解释。请您现在就我的问题投票好吗?