我想创建一个如下图所示的布局。它包括:
我可以像这样结构html并使用一些布局,如Flexbox,div定位......
<div class="wrapper">
<div class="status">
<div class="left">12/05/2015</div>
<div class="right>Adventure Story</div>
</div>
<div class="title">A long story about the Atlantic</div>
</div>
我只是学习Flexbox,我想简化这个html(没有第一行的包装)
<div class="wrapper">
<div class="left">12/05/2015</div>
<div class="right>Adventure Story</div>
<div class="title">A long story about the Atlantic</div>
</div>
我可以将Flexbox用于上面的html结构吗?如果是,请告诉我如何。
答案 0 :(得分:2)
你可以这样做:
.wrapper {
display: flex;
flex-wrap: wrap; /* to avoid overflow and force title going to new line */
}
.left,
.right {
flex: 0 0 50%; /*each element will take 50% of the width */
}
.right {
text-align: right;
}
.title {
flex: 0 0 100%; /*this element will take 100% of the width*/
}
div {
border: 1px solid red;
box-sizing: border-box;
}
<div class="wrapper">
<div class="left">12/05/2015</div>
<div class="right">Adventure Story</div>
<div class="title">A long story about the Atlantic</div>
</div>
答案 1 :(得分:2)
您可以在flex-container上使用flex-wrap: wrap
,在flex: 0 0 100%
元素上使用title
,以便它在第二个元素上转到新行和margin-left: auto
,以便将其定位到右边。
.wrapper {
display: flex;
flex-wrap: wrap;
}
.title {
flex: 0 0 100%;
}
.right {
margin-left: auto;
}
&#13;
<div class="wrapper">
<div class="left">12/05/2015</div>
<div class="right">Adventure Story</div>
<div class="title">A long story about the Atlantic</div>
</div>
&#13;