【发布时间】:2021-10-25 23:49:19
【问题描述】:
我正在尝试学习 CSS Flexbox,但发现了一个障碍。
我的内容可以在桌面屏幕大小上左右显示,而对于移动设备,我有flex-direction: column
见下图:
这是完成此操作的代码:
<div class="container">
<div class="box box1">
<div class="a">a</div>
<div class="b">b</div>
</div>
<div class="box box2">
<div class="c">c</div>
<div class="d">d</div>
</div>
</div>
这些是 flexbox 样式:
.box {
color: white;
font-size: 100px;
text-align: center;
text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.1);
padding: 10px;
width: 100vw;
}
.container {
display: flex;
height: 100vh;
}
.a, .b, .c, .d {
height: 50%;
}
@media all and (max-width: 500px) {
.container {
flex-direction: column;
}
.box {
height: 50vh;
}
}
在移动设备中,我如何按以下顺序排列以下 div(按原样)然而:
一个
c
d
b
不幸的是,我似乎无法找到解决方案。
我有一个 CodePen here 重要的 CSS 行从第 162 行开始。
【问题讨论】:
-
仅使用 CSS,我认为您的内容应该处于同一级别,以便您能够在您的用例中使用
order,现在它们被困在父级div.box中。 -
谢谢努里。你能提供一个答案例子吗?
-
我的错,看Temani Afif的回答。
-
@NuriKatsuki 我认为你的观点还是有道理的,因为任何 IE/Edge 版本都缺乏支持以及其他主流浏览器的无法访问问题,但
display: contents非常酷。 -
@NullisTrue 如果您需要 Edge 支持,可以查看此答案:stackoverflow.com/questions/55477305/…