flex布局详细介绍

目录


  • 简介
    • Flex:“Flexible box”的缩写,即弹性布局
      • x为主轴,y轴为交叉轴
    • 开始
    • 容器属性(父)
      • flex-direction(子元素排列起点)
        • row(默认)起点在左
        • row-reverse 起点在右
        • column 起点在上
        • column-reverse 起点在下
        • 附图

      • flex-wrap(如何换行)
        • nowrap(默认) 不换行

        • wrap 换行:从左到右、从上到下的次序换行

        • wrap-reverse 换行:从左到右、从下到上

      • flex-flow
        • 等于flex-direction加flex-wrap
          • 语法 flex-flow:<flex-direction> || <flex-wrap>
      • justify-content(调整内容:在主轴上的对齐方式)
        • flex-start(默认值)----向起点方向对齐
        • flex-end----向终点方向对齐
        • center----居中
        • space-between 分散开来
        • space-around----可以理解为内边距一样
        • space-evenly ----空间距离一样
        • 附图

      • align-items(调整内容:在交叉轴上如何对齐)
        • flex-start ---- 向起点方向对齐
        • flex-end ---- 向终点方向对齐
        • center ---- 居中
        • baseline ---- 基线对齐
        • stretch(默认值)
        • 附图

        • 注意:align-items属性跟flex-direction息息相关,flex-direction值为row时,align-items的对齐的轴是y轴,flex-direction值为column时,对齐的轴是x轴,这就是交叉轴的含义。
      • align-content(多轴线(换行情况下)才会生效)
        • flex-start
        • flex-end
        • center
        • space-between
        • space-around
        • stretch
        • 附图

    • 子元素属性(子)
      • order
        • 语法 ---- .item{order:<integer>; /*默认值为0*/}
        • 排序 ---- 从小到大
        • 附图

      • flex-grow
        • 放大比例
          • 默认为0 ---- 不分配任何剩余空间
          • 作用:对剩余空间进行分配
          • 附图

            • 把剩余空间看作一个蛋糕
            • 第1行,设置三个项目此属性值为1
            • 则,等于把蛋糕分三份,一人一份
            • 第2行,中间的调整为2
            • 则,等于把蛋糕分成四份,中间的占2份,其他占1份
      • flex-shrink
        • 缩小比例 ---- 默认为1,即如果空间不足,该项目将缩小,0就不压缩
        • 附图

      • flex-basis
        • 当作宽:当flex-direction:row或flex-direction:row-reverse时
        • 当作高:当flex-direction:column或flex-direction:column-reverse时
        • 与width/height的区别,
          • flex-basis优先级比width/height高
          • flex-basis=auto,优先级让给width/height
      • flex
        • 等于flex-grow 加 flex-shrink 加 flex-basis
          • 语法 auto | initial | none | inherit || [flex-shrink] || [flex-basis]
          • flex = auto
            • flex-grow = 1 ---- 参与分配剩余空间
            • flex-shrink = 1 ---- 收缩比例
            • flex-basis = auto
          • flex = initial
            • flex-grow = 0 ---- 不参与分配剩余空间
            • flex-shrink = 1 ---- 收缩比例
            • flex-basis = auto
          • flex = none
            • flex-grow = 0 ---- 不参与分配剩余空间
            • flex-shrink = 0 ---- 收缩比例(不收缩)
            • flex-basis = auto
          • flex = inherit 继承父亲的
      • align-self
        • 覆盖容器(父亲)的align-items属性
    • 浏览器支持
    • 参考文献
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS Flex布局是一种强大的布局技术,它可以让你更方便地控制元素在容器中的位置、大小和间距。Flex布局主要通过以下三个部分来实现: 1. Flex容器(Flex Container):使用display: flex属性声明一个元素为Flex容器,该容器中的所有子元素将成为Flex项目。 2. Flex项目(Flex Item):Flex容器中的每个子元素都是Flex项目,Flex项目可以通过Flex容器的属性来控制其位置、大小和间距。 3. Flex轴(Flex Axis):Flex容器默认有两个轴,一个是主轴(Main Axis),一个是交叉轴(Cross Axis)。主轴是Flex项目的排列方向,交叉轴则是垂直于主轴的方向。Flex项目可以在主轴和交叉轴上进行对齐。 下面是Flex布局的一些常用属性: 1. flex-direction:设置Flex容器的主轴方向,可以选择row(水平方向)、column(垂直方向)、row-reverse(水平方向反转)和column-reverse(垂直方向反转)。 2. justify-content:定义Flex项目在主轴上的对齐方式,可以选择flex-start(左对齐)、flex-end(右对齐)、center(居中对齐)、space-between(两端对齐,项目之间的间隔相等)、space-around(每个项目两侧的间隔相等)和space-evenly(每个项目两侧和项目之间的间隔都相等)。 3. align-items:定义Flex项目在交叉轴上的对齐方式,可以选择flex-start(上对齐)、flex-end(下对齐)、center(居中对齐)、baseline(基线对齐)和stretch(拉伸对齐,项目高度会被拉伸至与容器相同)。 4. flex-wrap:定义Flex项目是否在一行上排列,可以选择nowrap(不换行)、wrap(换行,第一行在上方)和wrap-reverse(换行,第一行在下方)。 5. align-content:当Flex项目在多行或多列上排列时,定义它们在交叉轴上的对齐方式,可以选择flex-start(顶部对齐)、flex-end(底部对齐)、center(居中对齐)、space-between(两端对齐,每行之间的间隔相等)、space-around(每行之间和容器两侧的间隔相等)和stretch(拉伸对齐,每行高度会被拉伸至与容器相同)。 6. order:定义Flex项目的排列顺序,数值越小越靠前,默认为0。 7. flex-grow:定义Flex项目在剩余空间中所占比例,数值越大占比越大,默认为0。 8. flex-shrink:定义Flex项目在空间不足时所占比例,数值越大缩小比例越大,默认为1。 9. flex-basis:定义Flex项目在主轴上的初始大小,默认为auto。 以上是Flex布局的一些基本属性,可以让你更好地掌握Flex布局的原理和使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值