个人觉得相对于用float浮动布局(浮动布局一般适用于文字环绕)弹性布局会更加方便简洁而且强大(这是一篇长长的文章,前前面是值以及属性表,后面是各个属性的效果图)
一、属性及其值
属性 |
描述与值 |
display |
指定 HTML 元素盒子类型:
|
flex-direction |
指定了弹性容器中子元素的排列方式:
|
justify-content |
设置弹性盒子元素在主轴(水平排列是x轴,垂直排列是y轴)方向上的对齐方式:
|
align-items |
设置弹性盒子元素在侧轴(纵轴)方向上的对齐方式:
|
flex-wrap |
设置弹性盒子的子元素超出父容器时是否换行:
|
flex-flow |
|
align-content: |
只有一根轴线,那么该属性将不起作用,即容器内必须要有多行的项目,该属性才能有效果效果:(一般位置与flex-directio的值相关)
|
order |
设置弹性盒子的子元素排列顺序。(Internet Explorer 和 Safari 不支持 order 属性) |
align-self |
覆盖容器的 align-items 属性也就是重写了容器的 align-items 属性(允许单个项目有与其他项目不一样的对齐方式) |
flex |
设置弹性盒子的子元素如何分配空间。 |
flex-basis |
规定弹性项目的初始长度 |
flex-shrink |
flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。 |
flex-grow |
定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大 |
注:设为Flex布局以后,子元素的float、clear和vertical-align等属性都将失效。
1.flex-direction
2.justify-content(展示的是水平排列,基于x轴的;纵向排列则基于y轴此属性一般用于水平布局)
3.align-items(展示的是垂直排列,基于y轴的;纵向排列则基于x轴此属性一般用于垂直布局)
4.flex-wrap (展示的是水平布局的flex-wrap,可更改flex-direction来修改方向 )
5.flex-flow(是是flex-direction属性和flex-wrap属性的简写、默认值为row nowrap)
6. align-content(容器内必须要有多行的项目,该属性才能有效果效果:(一般位置与flex-directio的值相关因为其他值与justify-content、align-items类似,这里只展示了stretch)
7.order(Internet Explorer 和 Safari 不支持 此 属性。)
8.align-self(重写了容器的 align-items 属性)
9.flex(弹性盒子如何分配父容器空间(1/2/3/4...等),全体flex:1;平均分配,水平时父容器内有的盒子设置了宽,给一个盒子设置flex:1;则占满剩下的全部空间(宽))
10.flex-basis:规定弹性项目的初始长度