【发布时间】:2020-04-12 02:32:39
【问题描述】:
在移动布局中,我有六个 div,按重要性顺序依次排列。在桌面上,我想重新排序项目。在下图中,移动布局在左侧,桌面布局在右侧。
这六个项目的高度互不相关。布局应适用于任何高度。
我尝试了不同的解决方案。最容易实现桌面布局的方法是创建两个包装器 div。但这不允许在移动设备上有不同的订单。
我试图让forced horizontal wrapping in flexbox 适应垂直方向。这个answer for column breaks 几乎可以工作,但它需要一个固定的容器高度。
我搜索了有关 girds 的信息,不幸的是,it seems impossible to have more than one element in a grid area。
有没有办法在不使用 Javascript 的情况下解决这个问题? (我们目前的解决方案涉及到 Javascript,但是访问者可以注意到 div 的重新排列)。
【问题讨论】:
-
这对你有什么提示吗?弹性/顺序和列 CSS stackoverflow.com/questions/59398922/… 的混合
-
@G-Cyr 谢谢。我已经看过这样的解决方案。您链接的答案中有两个缺失的部分。 1. 两列不具有相同的宽度(解决方案正负边距) 2. 中断必须在第 3 个 div 之后。我没有找到强迫它的方法。
break-before和break-after似乎不起作用。 -
不幸的是,这是一个经典的砌体问题。 flexbox 或 css-grid 都没有提供完整的解决方案而不妥协。
-
当然使用列包装器和显示:内容,但对此的支持并不理想。
标签: css responsive-design flexbox css-grid