【发布时间】:2020-09-09 02:02:26
【问题描述】:
根据用户的屏幕分辨率,我想使用弹性框实现两种布局。问题是我似乎无法通过 flex 找到一种方法,而每个布局都没有不同的 html。
场景一:对于大于X的屏幕分辨率,我希望有这样的安排。
场景 2,对于较小的屏幕分辨率,我希望布局是这样的:
HTML 我的 html 看起来像
<div class="flex-container">
<div class="flex-item1">Number 1</div>
<div class="flex-item2>
<p>Number 2/p>
<div>Number 3</div>
</div>
</div> --end container
CSS
.flex-container {
display:flex;
flex-direction:row;
flex-wrap:wrap;
}
.flex-item1 {
width:35vw;
}
.flex-item2 {
wdith:55vw;
}
在第一种情况下,我将 2 和 3 组合在一个 div 中,以迫使它们相互堆叠,但这会迫使数字 3 在较大的显示器上保持在右侧。相反,我需要将项目编号 3 转到新行并在较小的显示器上占据该行的 100vw,如方案 2 所示。
我想到了两组 html div。一个项目 2 和 3 组合在同一个弹性盒子中,一个它们在自己单独的弹性盒子中,并使用 display:none/auto 来关闭和打开它们,但我想知道有更好的方法这样做?
【问题讨论】:
-
您在 HTML 代码中的“数字 3”之后缺少一个