【发布时间】:2016-11-23 21:39:53
【问题描述】:
有很多方法可以用 CSS(inline-block、flex 等)实现这种水平布局:
[item 1] [item 2] [item 3] [item 4]
如果项目不能全部放在一行中,这些方法通常会换行到多行,每行有多个项目。
我希望布局跳到所有屏幕尺寸的每行一个项目,其中项目不适合单行:
[item 1]
[item 2]
[item 3]
[item 4]
这是否可以通过 CSS 实现,无需:
- javascript
- 添加一个固定宽度的断点(这依赖于知道项目的确切宽度)。
【问题讨论】:
-
但是你(或者更确切地说,CSS)肯定会知道它们什么时候不合适?您要么使用 % 宽度,在这种情况下,它们将始终适合,或者您正在使用 fixed with,在这种情况下,计算响应断点应该很容易?
-
应该总是至少有一个绝对最大宽度,因为你不希望你的外部容器太宽 - 如果你有一些宽度设置,在某个地方,你通常可以计算出您需要基于此。
-
项目是基于文本的。不仅文本的宽度因浏览器而异,而且文本是动态的,并且会因页面而异。