我的HTML类似于以下示例
<div id="wrapper">
<div id="a">a</div>
<div id="b">b</div>
<div id="c">c</div>
<div id="d">d</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在桌面上,我希望div显示在彼此旁边,这当然是微不足道的.
在移动设备上,我希望有类似于下面的表格式布局

b,c和d具有灵活的高度,因此必须适应.
如果没有将b,c和d包装在一个单独的div中,这可能吗?
是的,您完全可以这样做flexbox......当然您需要在较小的视口尺寸下决定第一个 div 的宽度,但我假设您已经考虑到了这一点,已经为所需的媒体查询做好了准备。
#wrapper {
height: 100vh;
width: 90vw;
border: 1px solid grey;
display: flex;
flex-direction: column;
flex-wrap: wrap;
margin: 10px auto;
}
#wrapper div {
flex: 1 0 auto;
border: 1px solid white;
background: lightblue;
text-align: center;
}
#a {
flex-grow: 1;
height: 100%;
flex-basis: 50%;
}
@media screen and (min-width: 640px) {
#a {
height: auto;
flex-grow: none;
flex-basis: auto;
}
}Run Code Online (Sandbox Code Playgroud)
<div id="wrapper">
<div id="a">a</div>
<div id="b">b</div>
<div id="c">c</div>
<div id="d">d</div>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3490 次 |
| 最近记录: |