Flex是CSS3引入的一种新的布局方式,是Flexible Box的缩写。Flex布局是一种盒子模型,可以灵活地组合起来,实现各种复杂的布局效果,使页面布局更加简单、灵活。使用Flex布局可以达到传统布局所无法实现的效果,代码也更加简洁易懂。
(1) 可以实现自适应布局,可以让元素的高度与宽度根据浏览器窗口大小改变而改变。
(2) 可以实现完全自适应布局,可以让元素根据其内容的数量和大小自动调整大小。
(3) 可以实现自由的对齐方式,可以让元素在页面中任意对齐。
(4) 可以轻松实现多行布局,可以让元素自动换行。
Flex布局由Flex容器和Flex项目两部分组成。Flex容器是指采用Flex布局的父元素,Flex项目是指Flex容器内采用Flex布局的子元素。
Flex容器的属性包括:flex-direction(主轴方向)、justify-content(主轴对齐方式)、align-items(交叉轴对齐方式)、align-content(多行内容的对齐方式)。
Flex项目的属性包括:flex-grow(放大比例)、flex-shrink(缩小比例)、flex-basis(基准尺寸)、flex(上三个属性的缩写)、order(项目排列顺序)、align-self(覆盖容器的交叉轴对齐方式)。
在CSS中,可以通过display属性将一个元素变为Flex容器,并在其中声明Flex项的属性。
以以下示例代码为例:
.container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
.item {
flex: 1 1 auto;
margin: 10px;
以上代码将创建一个Flex容器,其中的Flex项将自动换行并居中对齐。Flex项将按照flex属性定义的比例缩放,同时也通过margin属性设置了一些间距。