我试图使用flexbox实现以下有序布局:
HTML:
<ul class="box-wrapper">
<li class="box boxa">BOX A</li>
<li class="box boxb">BOX B</li>
<li class="box boxc">BOX C</li>
</ul>
CSS:
.box-wrapper{
display:flex;
}
.boxa{
order: 1;
// should be: width: 50%;
// should be: height: 100%;
}
.boxb{
order: 3;
// should be: width: 50%;
// should be: height: 100%;
}
.boxc{
order: 2;
// should be: width: 50%;
// should be: height: 100%;
}
浮动框-b和框-c似乎不起作用,所以我希望任何人都可以帮助我解决这个问题。 更改HTML布局不是此选项。
答案 0 :(得分:4)
使用flexbox,您需要一个已知(或可计算)的高度来实现此而不更改HTML 。
* {
margin: 0;
padding: 0;
}
.box-wrapper {
display: flex;
flex-direction: column;
flex-wrap: wrap;
height: 200px;
list-style-type: none;
}
.boxa {
background: red;
flex: 0 0 100%;
width: 50%;
}
.boxb {
background: orange;
order: 2
}
.boxc {
background: lightgreen;
}
.boxb,
.boxc {
flex: 0 0 50%;
width: 50%;
}
<ul class="box-wrapper">
<li class="box boxa">BOX A</li>
<li class="box boxb">BOX B</li>
<li class="box boxc">BOX C</li>
</ul>