【发布时间】:2017-03-22 21:20:25
【问题描述】:
我正在尝试做这样的事情:
Link - 线框
Container 定义屏幕尺寸(100vw,100vh),Box 将内容居中(水平和垂直对齐)。
两个Box是按行显示的,Text应该是按列显示的。 Flexbox 可以吗?
第一个解决方案
HTML
.container{
list-style: none;
align-items: center;
justify-content: center;
display: flex;
height: 100vh;
}
.box{
width: 90vw;
height: 90vh;
display: flex;
}
.box li{
margin: 25px;
box-shadow: 0px 10px 30px rgba(0,0,0,0.2);
}
.image-1{
background-color: yellow;
height: 20vh;
width: 100%;
}
.image-2{
float: left;
background-color: dodgerblue;
height: 10vh;
width: 10vw;
}
.text{
background-color: orange;
height: 10vh;
width: 100%;
}
CSS
<div class="container">
<div class="box">
<li style="flex-grow:1">
<div class="image-1"></div>
<div class="image-2"></div>
<div class="text"></div>
</li>
<li style="flex-grow:1"></li>
</div>
</div
第二种解决方案
CSS
.container{
padding-left: 20px;
padding-right: 20px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: 100vh;
}
.container li{
padding-left: 15px;
padding-right: 15px;
margin: 5px;
height: 70vh;
width: 50vw;
}
.box{
margin-top: 15px;
height: 120px;
width: 100%;
background-color: orange;
}
HTML
<div class="container">
<li>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</li>
<li>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</li>
<li>
<div class="box"></div>
<div class="box"></div>
</li>
</div>
【问题讨论】:
-
你能提供你目前尝试过的代码吗?
-
当然@Mistalis,刚刚更新。谢谢!