flex语法

什么是flex?

  • 页面元素弹性布局,当设置父元素display:flex后,内部的float、clear、vertical-align都会失效
  • 可以为块级元素设置:display:flex;也可以为行内元素设置:display:inline-flex
  • flex布局中的项目称为flex-item
  • flex布局的水平方向的轴为主轴---main axis;垂直方向的轴为交叉轴--cross axis
  • 主轴方向的起点为 main start,结束为main end ;垂直方向的起点为 cross start,结束为 cross end

父级容器的属性

flex-direction

容器的主轴方向,也就是项目的排列方向

  • row :  水平方向,以左为起点
  • row-reverse:水平方向,以右为起点
  • column:垂直方向,以上为起点
  • column-reverse:垂直方向,以下为起点

flex-wrap

当项目在一行排列不下时的换行方式

  • nowrap:不换行,默认值
  • wrap:换行,第一行在上
  • wrap-reverse:换行,第一行在下

flex-flow

属性flex-direction和flex-wrap的简写,默认为 row nowrap

justify-content

项目在水平方向的对齐方式

  • flex-start:靠左对齐,默认值
  • flex-end:靠右对齐
  • center:水平居中
  • space-between:两端对齐,项目之间的间距相等
  • space-around:项目两端的间距相等,项目与项目之间的距离是项目与边框之间的距离的两倍

align-items

项目在垂直方向的对齐方式

  • flex-start:靠上对齐
  • flex-end:靠下对齐
  • center:垂直居中
  • strech:默认值,如果项目没有设置高度,默认将占满整个容器的高度
  • baseline:靠基线对齐

align-content

项目在多轴上的对齐方式

  • flex-start
  • flex-end
  • center
  • strech
  • space-between
  • space-around

项目的属性

order

项目的排列顺序,默认为0,数值越小,排列越靠前

flex-grow

项目放大的比例,默认为0,即当有剩余空间时,也不放大

flex-shrink

项目缩小的比例,默认为1,即当空间不足时,等比例缩放

flex-basis

项目在分配剩余空间之前,占据的空间,默认为auto,即其本身的大小

flex

属性flex-grow,flex-shrink,flex-basis的简写。

有两个默认值:

  • auto(1, 1, auto)

align-self

指定某个项目对齐的特殊值,默认为auto,即继承父元素的align-items属性,如果没有父元素,等同于strech

auto,flex-start,flex-end,center,strech,space-between,space-around

原文地址:https://www.cnblogs.com/ashen1999/p/12707674.html