我想有我的网站上的图像上的div顺序:
在图像的顶部,红色的div应该浮动到左边,蓝色和绿色到右边。对我来说重要的是绿色的div在蓝色下面,不管红色div的大小是什么,所以clear: both
不是很好。我试过使用flexbox,但也没有成功。我还试过将蓝色和绿色的div Package 在另一个div中,命名为rightColumn
,但我无法实现图像的下半部分:在移动的设备上(我知道media only
CSS规则,所以这很好)我想有这个顺序:蓝色、红色、绿色,每种颜色的宽度均为100%。
如何在纯CSS中实现这一点?这可能吗?
4条答案
按热度按时间k5hmc34c1#
您可以使用
grid
并重置order
和grid-template-columns
以获得更大的屏幕。这里是一个断点为768 px的例子 (我在演示中使用了html5标签元素,但请随意使用您自己的标记和class/ids)
t3psigkw2#
CSS grids和flexbox的混合应该可以实现这一点:
你可以通过修改
order
属性来改变移动的版本的顺序(你应该把它放在@media
查询中,但是它是堆栈溢出的,所以为了安全起见,我用一个类来模拟它),在桌面上,你可以通过改变grid-template
中的列或行的值来做到这一点。grid-template
文档:order
的https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template文档:https://developer.mozilla.org/en-US/docs/Web/CSS/orderh79rfbju3#
您可以通过
order:1
(order CSS属性)将flex应用于其父属性来实现这一点。注意:如果你想使用Bootstrap,那么它会非常流畅。Bootstrap Orders
有关详细信息,请参阅此链接CSS Order
kfgdxczn4#
grid的一个替代方法是使用flex显示内容: