【发布时间】:2018-07-13 01:58:01
【问题描述】:
我正在尝试使用 flexbox 实现以下响应式网格布局,但如果没有固定高度,我无法获得正确的“桌面”版本。我希望#1 在左侧独立,#2 和 #3 在右侧相互堆叠(#1 不必与右侧 col 具有相同的高度)
HTML(简体)
<div class="wrapper">
<div class="inner">
<div class="col1"></div>
<div class="col2"></div>
<div class="col3"></div>
</div>
</div>
CSS(简体)
.wrapper {
max-width: 600px;
margin: 0 auto;
border: 1px solid #c4c4c4
}
.col1, .col2, .col3 {
background: #fe4c4c;
position: relative;
margin: 10px;
padding: 5px;
color: #FFF;
font-weight: bold;
font-size: 40px;
font-family: sans-serif;
min-height: 100px;
&:after {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
.col1 {
&:after {
content: '1';
}
width: 100px;
}
.col2 {
&:after {
content: '2';
}
width: calc(100% - (100px + 60px))
}
.col3 {
&:after {
content: '3';
}
width: calc(100% - 30px);
}
.inner {
width: 100%;
display: flex;
flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
.inner {
flex-direction: column;
}
.col1 {
width: 300px;
}
.col2 {
width: auto;
}
.col3 {
width: auto;
}
}
jsFiddle https://jsfiddle.net/pcwudrmc/28053/
我一直在寻找类似的问题,但在没有固定高度的情况下找不到答案。
提前致谢!
【问题讨论】:
-
为什么不用css网格?
-
使用安全吗? :D @SeanStopnik
-
这完全取决于您需要支持多远:caniuse.com/#feat=css-grid