目前,我在flexbox中有三列(Plunkr中的当前情况)。
当屏幕变小时,我想将第二列放在其他两列的顶部(Plunkr中的理想情况)。
我在https://plnkr.co/edit/ZznzRKHvhdISykHP7jNh创建了一个Plunkr
是否可以通过完全修改css来获得所需的情况?
的CSS
.row {
display: flex;
}
.item {
display: flex;
flex: 1;
height: 300px;
}
.item1 {
flex: 1;
background: orange;
}
.item2 {
flex: 2;
background: red;
}
.item3 {
flex: 1;
background: yellow;
}
的HTML
<p>Current situation</p>
<div class="row">
<div class="item item1">Foobar1</div>
<div class="item item2">Foobar2</div>
<div class="item item3">Foobar3</div>
</div>
<br>
<p>Desired situation with pure css</p>
<div class="row">
<div class="item item2">Foobar2</div>
</div>
<div class="row">
<div class="item item1">Foobar1</div>
<div class="item item3">Foobar3</div>
</div>
一个简单的flex-wrap和order
媒体查询的更改,以使第二个框在行顺序中排在第一位。
.row {
display: flex;
height: 300px;
flex-wrap: wrap;
}
.item {
order: 2;
flex: 1;
}
.item1 {
background: orange;
}
.item2 {
background: red;
flex:2;
}
.item3 {
background: yellow;
}
@media(max-width: 500px) {
.item2 {
flex: 100%;
order: 1;
}
}
<div class="row">
<div class="item item1">Foobar1</div>
<div class="item item2">Foobar2</div>
<div class="item item3">Foobar3</div>
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句