flex 布局 弹性布局

39 篇文章 0 订阅

flex 布局

    2 flex 弹性 布局   ====================================
    任何一个元素都可以指定 为 flex   其中 项目-儿子 可以指定宽高
    父亲 指定 flex  后  子元素的 float clear vertical-align 失效;
    父亲  容器   儿子 项目
    儿子 指定  flex 后作为容器  宽度与父亲一致

    主轴      针对每行 每行看成一个整体  整体内 元素安规则排序 紧贴一起 左右 或者 居中等等
    侧轴单行  针对主轴的行  行看成一个元素  该元素自己排列
    侧轴多行  针对多行 多行看成多个元素 所有元素看成一个整体  整体内 元素安规则排序

    display:flex;display:inline-flex; 行内
    1 flex-direction:row  默认X轴 为主轴项目排列方向   y轴  既侧轴
    row-reverse 翻转  x轴由右边开始 (3 2 1)
    column  y轴排列 为主轴 这时 X轴  既侧轴   column-reverse同上

    2 justify-content: ;设置    主轴  上项目的排列方式
    flex-start    默认  从头部开始  items紧贴 x轴 既左到右  主轴    左1 2 3
    flex-end     尾部开始          items紧贴 项目没有翻转    主轴   1 2 3右
    center       居中   主轴 居中  items紧贴
    space-around  平局分配  剩余空间   类似margin 中间叠加会多  主轴
    space-evenly  等分  主轴
    space-between 先两边贴边  在分配剩余空间 中间等分  主轴

    3 align-items: ;  侧轴  子项目为  单行  时使用
    stretch / normal  默认 不设置 轴对应的 高  拉的跟父亲一样,设置了高度 不拉伸 是高度决定
    flex-start   flex-end  center
    baseline  基线对齐  里面内 文字的基线要对齐  多行文本 以第一行的基线 为准

    4 align-content: ;  侧轴  子项目为  多行   换行  时使用  单行 无效
    参考 justify-content: ; + stretch--设置了高度 不拉伸 是高度决定
    以行为单位 在 侧轴排列方式123行
    start 上1 2 3  空白下
    end   上 空白 1 2 3123行 是一个整体  安规则排序不翻转

    5 flex-wrap: ;
    同一行 多个盒子 放不开 以前会挤下来
    现在 会一行显示 盒子整体 变小  通过设置是否换行  改变
    nowrap  默认不换行
    wrap   自动换行  不改变大小

    6 flex-flow: ; 复合写法 flex-direction + flex-wrap
    flex-flow:column wrap ;

    儿子 项目
    flex 子项  分配剩余空间  占比   类似Android weight
    flex:1;
    flex:0 50%;
    align-self: flex-end; 单独某个子项  自己在侧轴的 排列方式,脱离行 自己在侧轴排序 跟 align-items属性一样
    order: 0; 排列方式   默认0   越小越前  -1 < 0  (item  在 主轴的顺序  默认0 打乱自己写的顺序)
    flex-grow: ;  成长 针对主轴剩余空间 item 小于父亲宽度时  剩余宽度安比例分配  大于1  剩余宽度全部安比例分配
                                                          小于1 剩余宽度 安比例裁剪后安item比例分配
    flex-shrink:  收缩   当所有items总宽度大于 父亲时 默认不换行 等比例缩小 开启后 大于空间 收缩比例 同上
    flex-basis:400px 设置主轴元素 大小  默认auto  等于设置的宽度  200px 改为400px

    gap, row-agp, column-gap
    gap属性定义了items之间的空间,并不作用于外边框上。这个属性只定义了items之间的最小间隙,
    如果间隙以某种方式变大(比如像justify-content: space-between;),那么间隙将只在该空间最终变小的情况下生效。

    */
  flex-direction: column;
  justify-content: space-evenly;
  flex-wrap: wrap;
  align-items: stretch;
  align-content: start;
  flex-flow: column wrap;
  flex: 1;
  align-self: flex-end;
  order: 0;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;

  gap: 10px;
  gap: 10px 20px; /* row-gap column gap */
  row-gap: 10px;
  column-gap: 20px;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flex布局,也称为弹性布局,是一种浏览器提倡的布局模型。它的特点是可以更简单、灵活地布局网页,避免了浮动脱标的问题。通过使用Flex布局,我们可以精确灵活地控制块级盒子的布局方式,避免浮动布局中脱离文档流现象的发生。Flex布局非常适合用于结构化布局Flex布局的设置方式是在父元素上添加`display: flex`,这样子元素就可以自动地被挤压或拉伸。Flex布局由弹性容器、弹性盒子、主轴、侧轴/交叉轴组成。 在Flex布局中,`flex`属性是`flex-grow`、`flex-shrink`和`flex-basis`三个属性的简写,默认值为`0 1 auto`。其中`flex-grow`表示弹性元素的放大比例,`flex-shrink`表示弹性元素的缩小比例,`flex-basis`表示弹性元素的初始大小。 除了`flex`属性,还有一些其他的属性可以用来设置Flex布局,这些属性设置在容器上,包括`flex-direction`、`flex-wrap`、`flex-flow`、`justify-content`、`align-items`和`align-content`等属性,用来控制弹性容器和弹性盒子的布局方式。 总结来说,Flex布局是一种简单、灵活的布局模型,通过使用弹性容器和弹性盒子,可以精确控制块级盒子的布局方式,避免了浮动布局中的问题。使用Flex布局可以使网页的布局更加简单、灵活,适用于结构化布局。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Flex布局(弹性布局)-图文介绍](https://blog.csdn.net/qq_52031408/article/details/124053711)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [flex弹性布局](https://blog.csdn.net/m0_48958478/article/details/125508280)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值