flex布局
注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效
<ul class="list">
<li class="item">12345</li>
<li class="item">54321</li>
<li class="item">56789</li>
</ul>
1.等分
.list {
display: flex;
}
.item {
flex: 1;
}
2.左定宽
.list {
background: yellow;
display: flex;
}
.item {
flex: 1;
}
li:nth-child(1) {
flex: 0 0 120px;
width: 120px;
}
3.上下左右居中布局
html:
<div class='demo'>
<div class='box'></div>
</div>
css:
.demo {
width: 100rpx;
height: 100rpx;
border: 1px solid #cccccc;
display: flex;
}
.box {
width: 60rpx;
height: 60rpx;
background-color: #ff0000;
margin: auto;
}
flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
- flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
- flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
- flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
flex布局教程: 阮一峰老师教程flex布局