弹性盒子
设置弹性盒子:
display: flex; 将元素设置为弹性盒容器
display: inline-flex; 将元素设置为弹性盒容器
注意:设置为flex布局之后,子元素的float、clear、vertical-align属性都会失效
基本概念:
容器
项目
主轴:默认水平方向,向右
主轴的起点
主轴的终点
交叉轴:默认垂直方向,向下
交叉轴的起点
交叉轴的终点
容器属性——添加弹性容器上
flex-direction属性:设置主轴的方向
flex-direction: row; /*默认值,设置主轴方向为水平方向,起点在左侧*/
flex-direction: row-reverse; /*设置主轴方向为水平方向,起点在右侧*/
flex-direction: column; /*设置主轴方向为垂直方向,起点在上方*/
flex-direction: column-reverse; /*设置主轴方向为垂直方向,起点在下方*/
justify-content属性:设置弹性子元素在主轴上的对齐方式
justify-content: flex-start; /*默认值,子元素位于弹性盒的开头*/
justify-content: flex-end; /*子元素位于弹性盒的结尾*/
justify-content: center; /*子元素位于弹性盒的中间*/
justify-content: space-around; /*子元素之前、之后、之间都有空白空间*/
justify-content: space-between; /*子元素和子元素之间有空白空间*/
align-items属性:设置弹性子元素在交叉轴上的对齐方式
align-items: stretch; /*默认值,如果子元素没有高度或高度为auto时,将占满整个容器的高*/
align-items: flex-start; /*子元素在交叉轴的起点对齐*/
align-items: flex-end; /*子元素在交叉轴的终点对齐*/
align-items: center; /*子元素在交叉轴的中点对齐*/
align-items: baseline; /*子元素在第一行文字的基线对齐*/
flex-wrap属性:设置弹性子元素在一根轴线上排不下的换行方式
flex-wrap: nowrap; /*默认值,不换行*/
flex-wrap: wrap; /*换行,第一行显示在上方*/
flex-wrap: wrap-reverse; /*换行,第一行显示在下方*/
align-content属性:设置多根轴线的对齐方式,如果只有一根轴线,属性失效
align-content: stretch; /*默认值,轴线占满整个交叉轴*/
align-content: flex-start; /*与交叉轴的起点对齐*/
align-content: flex-end; /*与交叉轴的终点对齐*/
align-content: center; /*与交叉轴的中点对齐*/
align-content: space-around; /*每根轴线之上、之下、之间都有留白*/
align-content: space-between; /*每根轴线之间都有留白*/
项目属性——添加在子元素上
order属性:调整子元素的排列次序
order: 数值; 数值不加单位,默认值为0,数值越大,排列越靠后
flex-grow属性:调整子元素的放大比例
flex-grow: 数值; 数值不加单位,默认值为0,表示不放大
flex-shrink属性:调整子元素的缩小比例
flex-shrink: 数值; 数值不加单位,默认值为1,表示当空间不足时,等比例缩小;值为0表示当空间不足时,不缩小
align-self属性:调整弹性容器中被选中的子元素的对齐方式
align-self: auto; /*默认值,继承了父容器的align-items属性,如果没有父元素值为stretch*/
align-self: stretch; /*占满整个容器的高度*/
align-self: flex-start; /*交叉轴起点对齐*/
align-self: flex-end; /*交叉轴终点对齐*/
align-self: center; /*交叉轴中点对齐*/
align-self: baseline; /*子元素的第一行文字的基线对齐*/
换行显示文本
word-break: break-all; 单词截断,下行接着显示
word-wrap: break-word; 单词不够放,放下一行限时
white-space: nowrap;强制不换行
以上是针对弹性布局的控制操作