CSS3弹性盒子属性

CSS3弹性盒子属性

设置弹性盒子:display

  • flex:将对象作为弹性伸缩盒显示。
  • inline-flex:将对象作为内联块级弹性伸缩盒显示。

在这里插入图片描述

设置在父容器上的属性

flex-direction:子元素在父容器中的位置(默认row)

  1. row:主轴与行内轴方向作为默认的书写模式。即横向从左到右排列(左对齐)。
  2. row-reverse:对齐方式与row相反。
  3. column:主轴与块轴方向作为默认的书写模式。即纵向从上往下排列(顶对齐)。
  4. column-reverse:对齐方式与column相反。
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

主轴和交叉轴(侧轴)

主轴为flex-direction属性对其的方式的方向
交叉轴为主轴的垂直方向

比如:flex-direction: row;
主轴为水平向右
交叉轴为垂直向下

flex-wrap:子元素换行方式(默认nowrap)

  1. nowrap:flex容器为单行。该情况下flex子项可能会溢出容器
  2. wrap:flex容器为多行。该情况下flex子项溢出的部分会被放置到新行,子项内部会发生断行
  3. wrap-reverse:反转 wrap 排列。
    在这里插入图片描述

align-items:基于交叉轴对齐(单行)(默认stretch)

  1. flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
  2. flex-end:弹性盒子元素的侧轴(纵轴)结束位置的边界紧靠住该行的侧轴结束边界。
  3. center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。
  4. baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐。
  5. stretch:如果指定侧轴大小的属性值为’auto’,则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照’min/max-width/height’属性的限制。
    在这里插入图片描述

align-content:基于交叉轴对齐(多行)(默认stretch)

  1. stretch:默认。各行将会伸展以占用剩余的空间。
  2. flex-start:各行向弹性盒容器的起始位置堆叠。
  3. flex-end:各行向弹性盒容器的结束位置堆叠。
  4. center:各行向弹性盒容器的中间位置堆叠。
  5. space-between:各行在弹性盒容器中平均分布。
  6. space-around:各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半
    在这里插入图片描述
    在这里插入图片描述

justify-content:基于主轴对齐(默认flex-start)

  1. flex-start:弹性项目向行头紧挨着填充
  2. lex-end:弹性项目向行尾紧挨着填充
  3. center:弹性项目居中紧挨着填充
  4. space-between:弹性项目平均分布在该行上
  5. space-around:弹性项目平均分布在该行上,两边留有一半的间隔空间
    在这里插入图片描述

设置在子容器上的属性

flex-grow:设置或检索弹性盒的扩展比率(默认0)。

自身收缩数/收缩总和*剩余空间
在这里插入图片描述

flex-shrink:设置或检索弹性盒的收缩比率(默认1)。

(自身宽度自身收缩数)/(sum每个(宽度收缩数))*超出的空间
在这里插入图片描述

flex-basis:宽度(默认0)。

  1. px:像素值。不允许负值
  2. %:百分值。不允许负值
  3. auto(默认):无特定宽度值,取决于其它属性值
  4. content:基于内容自动计算宽度

order:设置子元素出現的順序。

适用于:flex子项和flex容器中的绝对定位子元素
用整数值来定义排列顺序,数值小的排在前面。可以为负值
在这里插入图片描述

align-self:子元素自身在侧轴(纵轴)方向上的对齐方式(默认auto)

  1. auto:如果’align-self’的值为’auto’,则其计算值为元素的父元素的’align-items’值,如果其没有父元素,则计算值为’stretch’。
  2. flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
  3. flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
  4. center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
  5. baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐。
  6. stretch:如果指定侧轴大小的属性值为’auto’,则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照’min/max-width/height’属性的限制。
    在这里插入图片描述