在不同视口上以弹性顺序重新排列元素
您有一个容器,其中三个 div 按 1、2、3 的顺序排列在移动设备上,但在大屏幕上面临挑战。虽然 flex 和 order 属性似乎在移动设备上有效工作,但它们无法在桌面上产生所需的排列。
Flexbox 对行换行的限制
关键问题在于Flexbox 在换行方面的固有局限性。 Flex 项目只能换行到新行,从而防止它们换行到同一行中的其他项目下方。这会在桌面布局中产生间隙,较短的项目无法正确对齐。
替代解决方案
要实现所需的布局,一种方法是包装 div 2 和 3在一个额外的容器中。这将创建一个具有垂直弯曲方向的嵌套弯曲容器,正确对齐项目而没有间隙。但是,此解决方案与您要求所有项目共享同一父项的要求相冲突。
列换行作为解决方案
或者,考虑使用列换行而不是行换行。通过将容器定义为列弹性盒,项目可以垂直对齐,消除间隙。在桌面上,容器可以切换到 Flex Wrap,允许 div 2 和 3 根据需要重新排列。
此方法需要额外的 CSS 修改来调整 Flex 属性并确保在移动和桌面视图上正确对齐。
以上是如何在没有嵌套容器的情况下在不同视口上重新排列 Flexbox 项目?的详细内容。更多信息请关注PHP中文网其他相关文章!