Flex布局

396 阅读2分钟

Flex布局

弹性容器(父级)+弹性盒子

作用:

基于flex精确灵活控制块级盒子的布局方式,避免浮动布局中脱离文档流现象发生。

flex布局非常适合结构化布局

**给父元素添加display:flex,**子元素可以自动的挤压和拉伸

默认主轴:X轴 默认侧轴:Y轴

主轴对齐方式
默认值
justify-content:flex-start
终点开始依次排列
justify-content:flex-end
沿主轴居中排列
justify-content:center
弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子两侧

盒子之间间距是两边间距的2倍

justify-content:space-around;
弹性盒子沿主轴均匀排列,空间间距均分在相邻盒子之间

两边盒子间距为零

justify-content:space-between;
弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等

无论两边还是盒子间距离都一样

justify-contenr:space-evenly;
侧轴对齐方式

默认值,起点开始一次排列

align-items:flex-start;

终点开始依次排列

align-items:flex-end;
沿侧轴居中排列
align-items:center

默认值,弹性盒子沿着主轴线被拉伸至铺满容器

align-items:stretch

单独控制某个弹性盒子在侧轴的对齐方式(添加到弹性盒子)

align-self:center

弹性盒子没有给高度,弹性盒子高度默认拉伸到和弹性容器父盒子高度一样高,但是如果给了侧轴对齐align-items:center 那么盒子高度默认由内容撑开。

弹性盒子不给宽,弹性盒子宽度由内容撑开。

伸缩比

只占用父盒子剩余尺寸

取值份数:把父盒子所有剩余尺寸等比例划分,多少份占用多少等比例。

flex:整数

份数是所有父盒子内标签给的份数的和

flex:整数(份数)
侧轴多行对齐
align-content:center/flex-start/flex-end/space-between/space-around/space-evenly
换行/不换行
flex-wrap:wrap/nowrap

设置主轴为Y轴则侧轴为X轴

宽度默认为父元素宽度,高度由内容撑开

默认内容左上,上下靠左排列

colum-reverse(默认左下)

flex-direction:column;

默认主轴X轴

默认内容左上 ,左右靠上排列

row-reverse(默认内容右上)

flex-direction:row;