html - 如何使 flexbox 响应式并将 1 堆叠在一起
问题描述
当缩小到移动尺寸时,我无法让我的盒子堆叠在一起
使用@media 缩小并将宽度设置为 100% 的古老方法似乎不适用于 Flexbox
这是我的CSS:
.box {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
overflow: hidden;
padding-bottom: 1em;
text-align: center;
}
.box .column {
flex: 1;
background: lightgray;
margin-right: 1em;
padding: 1em;
text-align: center;
}
JS 小提琴:https ://jsfiddle.net/p650fdL4/
桌面视图有 3 个彼此相邻的相等方形框,在移动设备中这些框不堆叠
解决方案
你非常亲近。您需要 width: 100% 在列上,但默认情况下弹性框项目不会换行。您需要使用媒体查询告诉它在移动设备上包装。
在您的移动媒体查询中,确保包含flex-wrap: wrap
在.box
元素上
.box { display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; padding-bottom: 1em; text-align: center; flex-wrap: wrap;}
.box .column { flex: 1 1 100%; background: lightgray; margin-right: 1em; padding: 1em; text-align: center; }
<div class="box">
<div class="column">
<div class="columnBackground">
<h3 class="h3Color">We multiply your impact</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
<div class="column">
<div class="columnBackground">
<h3 class="h3Color">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</h3>
<p>Some info</p>
</div>
</div>
<div class="column">
<div class="columnBackground">
<h3 class="h3Color">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</h3>
<p>Some info</p>
</div>
</div>
</div>
推荐阅读
- javascript - 如果我知道页数,如何在 AngularJS 中创建页面项?
- xml - 在 nifi 过程中将电子符号转换为数字
- angular - 从 URL 添加图像
- android - 如何为 ui 线程同时创建不同的领域实例?
- react-native - 从 AccessibilityService 访问 react-native 数据
- d3.js - d3.js:增量转换翻译
- javascript - 带有laravel刀片模板循环和总和的javascript
- titanium - appcelerator Titan 中的 Facebook 受众网络
- gigya - 使用 WebSDK 的 Gigya 注册
- android - 为什么 setAlpha() 在 RecyclerViews 中不起作用?