Flex布局

Flex 布局

Flexible Box 模型:有伸缩容器(父容器/元素)和伸缩项目(子容器/元素)组成。
注意:使用 flex 布局时,columns 属性在父容器中失效,floatclearvertical-align 属性将在子容器中失效。
Flex 布局是由主轴和侧轴来划分的

  • 主轴:父容器的主轴,子元素沿着这条轴进行排列布局。主轴的方向可以是水平(X 轴)方向或垂直(Y 轴)方向。主轴的方向取决于 flex-direction 属性的值,默认: row(水平方向)。
  • 侧轴:始终垂直与主轴,其方向取决于主轴方向。

Flex 布局父容器常见属性

  • flex-direction:定义父元素的主轴方向。
    • row:默认值,子元素从左到右排列。
    • row-reverse:与 row 排列相反。
    • column:子元素从上到下排列。
    • column-reverse:与 column 排列相反。
  • flex-wrap:定义子元素在父元素中呈单行或多行显示。
    • nowrap:默认值,子元素在父元素中呈单行排列。
    • wrap:子元素在父元素中呈从左到右多行排列。
    • wrap-reverse:与 row 排列相反。
  • flex-flow:该属性是由 flex-directionflex-wrap 的简写。
  • justify-content:定义子元素沿着主轴的对齐方式。
    • flex-start:默认值,子元素向起始位置对齐。
    • flex-end:子元素向结束位置对齐。
    • center:子元素居中对齐。
    • space-between:第一个子元素在起始位置,最后一个子元素在结束位置,剩下的子元素会平均分布在父元素中。
    • space-around:均匀排列每个元素,每个元素周围分配相同的空间,即:元素的 margin 值相同。
    • space-evenly:均匀排列每个元素,每个元素之间的间隔相等。
    • stretch:拉伸,但是子元素不要指定高度。
  • align-items:定义子元素单行的情况下沿着侧轴的对齐方式。
    • flex-start:默认值,子元素向一行的起始位置对齐。
    • flex-end:子元素向一行的结束位置对齐。
    • center:子元素向一行居中对齐。
    • baseline:子元素根据它们的基线对齐,基线可以理解为,用英文簿抄写大写英文字母时,字母紧贴底部的那一条线称为基线。
    • stretch:子元素被在侧轴方向被拉伸到与父元素相同的高度,条件是不给子元素高度。
  • align-content:定义子元素在多行的情况下沿着侧轴的对齐方式,通常配合 flex-wrap 属性一起使用。
    • flex-start:子元素向一行的起始位置对齐。
    • flex-end:子元素向一行的结束位置对齐。
    • center:子元素向一行居中对齐。
    • space-between:子元素被在侧轴方向被拉伸到与元素相同的高度,条件是不给子元素高度。
    • space-around:子元素被在侧轴方向被拉伸到与元素相同的高度,条件是不给子元素高度。
    • stretch:默认值,子元素被在侧轴方向被拉伸到与元素相同的高度,条件是不给子元素高度。

Flex 布局子容器常见属性

  • order:定义子元素的排列顺序,数值越小排列越靠前,默认值:0。
  • flex-grow:定义子元素的放大比例,默认值:0。
  • flex-shrink:定义子元素的缩小比例,当子元素默认宽度之和大于父元素时才起作用,默认值:1。
  • flex-basis:定义子元素在主轴方向上的的初始大小,默认值:auto。
  • flex:该属性是由 flex-growflex-shrinkflex-basis 的简写。
    • initial:默认值,把子元素重置为 Flexbox 的初始值,相当于 0 1 auto。
    • auto:相当于 1 1 auto。
    • none:把子元素设置为不可伸缩,相当于 0 0 auto。
    • < positive-number >: 常使用的 flex:1,相当于 1 1 0。
  • align-self:定义单个子元素在侧轴上的对齐方式。
    • auto:子元素继承父元素的 align-items 属性值。
    • flex-start:子元素向一行的起始位置对齐。
    • flex-end:子元素向一行的结束位置对齐。
    • center:子元素向一行居中对齐。
    • baseline:子元素根据它们的基线对齐,基线可以理解为,用英文簿抄写大写英文字母时,字母紧贴底部的那一条线基线。
    • stretch:子元素被在侧轴方向被拉伸到与父元素相同的高度,条件是不给子元素高度。

参考文献

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值