具有左右容器的 Flex 框响应式布局
Posted
技术标签:
【中文标题】具有左右容器的 Flex 框响应式布局【英文标题】:Flex box Responsive Layout with Left and Right Container 【发布时间】:2022-01-19 05:33:25 【问题描述】:我在移动设备中遇到了 flexbox 布局问题。台式机看起来不错 在移动视图中,我想如下所示显示
-
首先应该显示“概览”框
第二个应该显示“付款”框
第三个应该显示“活动”框
.div1
box-sizing:border-box;
border:0.5px solid red;
.main-container
height:100%;
display:flex;
.left-container
flex:1 1 0;
.right-container
flex:1 1 0;
display:flex;
//flex-direction:column;
.half-containers
flex:1;
overflow:auto;
order: 1;
.half-containers-activity
flex:1;
overflow:auto;
order: 0;
@include media-breakpoint-down(sm)
.main-container
flex-direction: row;
<div class="div1">
<div class="main-container">
<div class="left-container">
<div class="half-containers">
Overview
</div>
<div class="half-containers-activity">
Activity
</div>
</div>
<div class="right-container">
Payment
</div>
</div>
</div>
【问题讨论】:
对于桌面视图我在我的问题中发布的内容我想要相同的视图。对于移动视图,我希望显示如下水平概览 => 付款 => 帐户活动 试试flex-wrap: wrap
并给这3个宽度
能否举个例子?
【参考方案1】:
您可以使用以下方法。这里的主要内容是在.left-container
上使用display: contents;
来“中和”它,以便所有三个元素都可以“在一个级别”用作弹性子元素,并根据order
参数对其应用。当然,所有这些都在媒体查询中,以保持桌面版本不变。
.div1
box-sizing: border-box;
border: 0.5px solid red;
.main-container
height: 100%;
display: flex;
.left-container
flex: 1 1 0;
.right-container
flex: 1 1 0;
display: flex;
//flex-direction:column;
.half-containers
flex: 1;
overflow: auto;
order: 1;
.half-containers-activity
flex: 1;
overflow: auto;
order: 0;
@media screen and (max-width: 700px)
.main-container
flex-direction: column;
.left-container
display: contents;
.half-containers
order: 0;
.right-container
order: 1;
.half-containers-activity
order: 2;
<div class="div1">
<div class="main-container">
<div class="left-container">
<div class="half-containers">
Overview
</div>
<div class="half-containers-activity">
Activity
</div>
</div>
<div class="right-container">
Payment
</div>
</div>
</div>
我应该补充一点,display: contents;
仍然被视为“实验价值”,但浏览器支持已经相当不错了:https://caniuse.com/?search=display%3A%20contents
【讨论】:
非常感谢您的回复。此解决方案适用于移动设备。我学到了一些新东西。以上是关于具有左右容器的 Flex 框响应式布局的主要内容,如果未能解决你的问题,请参考以下文章
「布局」静态布局、自适应布局、流式布局、响应式布局、弹性布局简析