Flex 布局 - 容器属性

Flex 布局,意为“弹性布局”。任何一个容器都可以指定为 Flex 布局,行内元素也可以使用 Flex 布局。

注意:设为 Flex 布局后,子元素的 float、clear 和 vertrical-align 属性都将失效。

采用 Flex 布局的元素,称为 Flex 容器,简称容器;它的所有子元素自动成为容器成员,称为 Flex 项目,简称项目。

容器默认的存在两根轴:水平的主轴和垂直的交叉轴。项目默认沿主轴排列。单个项目占据的主轴空间叫做 main size,占据的交叉轴的空间叫做 cross size。

容器的属性

  • flex-direction
  • flex-wrap
  • flex-flow
  • justify-content
  • align-items
  • align-content

flex-direction 属性

flex-direction 属性决定主轴的方向(即项目的排列方向)。

.box {
    flex-direction: row | row-reverse | column | column-reverse;
}
  • row:默认值;主轴为水平方向,起点在左端。
  • row-reverse:主轴为水平方向,起点再右端。
  • column:主轴为垂直方向,起点在上端。
  • column-reverse:主轴为垂直方向,起点在下端。

 flex-wrap 属性

默认情况下,项目都排在一条线(又称“轴线”)上。flex-warp 定义,如果一条轴线排不下,如何换行。

Flex 布局 - 容器属性_第1张图片

.box {
    flex-wrap: nowrap | wrap | wrap-reverse;
}
  • nowrap:默认值,不换行

Flex 布局 - 容器属性_第2张图片

  • wrap:换行,第一行在上方

Flex 布局 - 容器属性_第3张图片

  • wrap-reverse:换行,第一行在下方

Flex 布局 - 容器属性_第4张图片

flex-flow 属性

flex-flow 属性是 flex-direction 和 flex-wrap 属性的简写形式,默认值是 row nowrap。

justify-content 属性

justify-content 属性定义了在主轴上的对齐方式。

.box {
    justify-content: flex-start | flex-end | center | space-between | space-around;
}

假设主轴为从左到右。

  • flex-start:默认值;左对齐
  • flex-end:右对齐
  • center:居中
  • space-between:两端对齐,项目之间的间隔相等
  • space-around:每个项目之间的间隔相等。所以项目之间的间隔比项目到边框的距离大一倍。

Flex 布局 - 容器属性_第5张图片

align-items 属性

align-items 属性定义项目在交叉轴上的对齐方式。

.box {
    align-items: flex-start | flex-end | center | baseline | stretch;
}

假设交叉轴从上到下。

  • flex-start:交叉轴的起点对齐
  • flex-end:交叉轴的终点对齐
  • center:交叉轴的中点对齐
  • baseline:项目的第一行文字基线对齐
  • stretch:默认值;如果项目未设置高度或设为 auto,将占满整个容器的高度

Flex 布局 - 容器属性_第6张图片

align-content 属性

align-content 属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

.box {
    align-content: flex-start | flex-end | center | space-between | space-around | strecth;    
}
  • flex-start:与交叉轴的起点对齐
  • flex-end:与交叉轴的终点对齐
  • center:与交叉轴的中点对齐
  • space-between:与交叉轴两端对齐,轴线之间的间隔平均分布
  • spance-around:每根轴线两侧的间隔都相等,所以轴线之间的间隔是轴线到边框距离的两倍
  • stretch:默认值;轴线占满整个交叉轴

Flex 布局 - 容器属性_第7张图片

你可能感兴趣的:(Easy,Look,CSS,css)