基本介绍
特点
flexbox是一种css display类型,提供一种更简单高效的布局方式;
flexbox可以对元素相对于父元素、兄弟元素进行定位、控制尺寸、控制间距;
flexbox对响应式有很好的支持;
工作原理
设置父元素的
display
属性为flex
,则子元素都变成flex item
,由此可以控制子元素的排列方式、尺寸、间距等;兼容性
Flex Container
先来看一个最简单的flex示例,外层div设置
display: flex
成为一个flex container,内部的3个div则自动变为flex item:html:
<div class="flex-container">
<div class="box one"></div>
<div class="box two"></div>
<div class="box three"></div>
</div>
css:
.flex-container{ max-width: 960px; margin: 0 auto; display:flex; }
.box{ height: 100px; min-width: 100px; }
.one{ background: pink; }
.two{ background: lightgreen; }
.three{ background: skyblue; }
效果:
效果与浮动布局类似,但是如果用浮动实现的话需要写更多的代码,而flex一行就搞定了。
1. Justify Content
如果我们想让flex item居中排列呢,我们可以给flex container增加一个css属性:
justify-content
,它控制flex item在主轴方向(main axis,由flex-drection决定,默认为水平方向)上的对齐方式:
.flex-container{
...
justify-content: center;
}
效果如图:
除此之外
justify-content
还可以设置为flex-start
, flex-end
, space-around
, space-between
, space-even
等值,具体效果请自行实验。2. Align Items
实现了flex方向的居中后,垂直于主轴方向(cross axis)的居中可以用
新闻热点
疑难解答