阮一峰 flex布局教程css
flex布局 = 容器( container ) + 容器内各类子元素( items )
容器默认存在两根轴:水平的主轴(main axis) 和 垂直的交叉轴( cross axis)
主轴 开始位置main start, 结束位置 main end
交叉轴 开始位置 cross start , 结束位置 cross end
items默认沿主轴排列html
容器 container 的属性
flex-direction: row(默认,从左到右) | row-reverse(从右到左) | column(从上到下) | column-reverse(从下到上); //决定主轴的方向,即items得排列方向
flex-wrap:nowrap(默认,不换行)| wrap(换行,第一行在上) | wrap-reverse; // 若是一条轴线排不下,如何换行
flex-flow:flex-direction || flex-wrap;
justify-content: flex-start(默认,左对齐) | flex-end(右对齐) | center(居中) | space-between(两端对齐,items间间隔相等) | space-around(items两侧的间隔相等,items间的间隔比item与边框的距离大); //定义items在主轴上的对齐方式
align-items:flex-start(默认,交叉轴起点对齐) | flex-end(终点对齐) | center (交叉轴居中) | baseline(items第一行文字的基线对齐) | stretch(若items未设置高度或为auto,将占满整个容器的高度); //定义items在交叉轴上如何对齐
align-content:flex-start(交叉轴的起点对齐)| flex-end | center | space-between | space-around(默认,轴线占满整个交叉轴); //定义多根轴线的对齐方式布局
项目items的属性
order: integer; //定义items的排列顺序。数值越小,排列越靠前。默认为0
flex-grow: number; //定义项目的放大比例。默认为0
flex-shrink:number; //定义项目的缩小比例。默认为1;
flex-basis:length | auto; //主轴空间,默认为auto
flex:[flex-grow flex-shrink flex-basis]; 默认0 1 auto
align-self: auto(默认) | flex-start | flex-end | center | baseline | stretch; //容许单个项目item与其余项目不同对的对齐方式。flex
掘金css grid布局flexbox