前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端必学必会:Flex Box布局语法-属性学习攻略

前端必学必会:Flex Box布局语法-属性学习攻略

作者头像
Carson.Ho
发布2021-12-06 17:21:59
4230
发布2021-12-06 17:21:59
举报
文章被收录于专栏:Android知识分享

前言

Flex Box(Flexible Box),即 “弹性布局”,是目前前端开发最常用的布局方案。本文主要提供一份Flex Box布局语法-属性大全:

  • 布局概念
  • 容器常用属性
  • 容器成员常用属性
  • 实操演示Demo

布局概念

  • 容器(Container):采用Flex布局的元素
  • 容器成员(Item):Flex布局里的子元素
  • 主轴(main axis):容器默认的水平横轴
  • 交叉轴(cross axis):容器默认的垂直纵轴

通过属性设置元素来展示UI布局是使用Flex Box布局的核心用法,下面将主要讲解 容器 跟 容器成员的属性设置。

容器属性

容器的常用属性主要包括:

  • flexDirection:容器成员的排列方向
  • justifyContent:容器成员在主轴上的对齐方式
  • alignItems:容器成员在交叉轴上的对齐方式
  • alignContent:多根轴线的对齐方式
  • flexWrap:容器成员在轴线方向排列不下时的换行方式

1. flexDirection:容器成员的排列方向

2. justifyContent:容器成员在主轴上的对齐方式

3. alignItems:容器成员在交叉轴上的对齐方式

4. alignContent:多根轴线的对齐方式

多根轴线的对齐方式(若只有一根轴线,则不起作用)

5. flexWrap:容器成员在轴线方向排列不下时的换行方式

###特别说明:flexFlow属性

  • 是属性flexDirection和属性flexWrap的的快捷设置方式
  • 默认值分别是:row、no_wrap

容器成员属性

容器成员常用的属性主要包括:

  • order:容器成员的排列顺序
  • alignSelf:容器成员在容器的交叉轴对齐方式
  • flexGrow:空间剩余时,容器成员占剩余空间的放大比例
  • flexShrink:空间不足时,容器成员的缩小比例
  • flexBasis:分配多余空间前,容器成员占据的主轴空间(即横向方向的)
  • flex:属性flexGrow、flexShrink 和 flexBasis的快捷设置方式

1. order:容器成员的排列顺序

  • 数值越小,排列越靠前
  • 默认为0

2. alignSelf:容器成员在容器的交叉轴对齐方式

  • 默认值:auto,即继承容器的alignItems属性;若无父元素,则为stretch(占满高度)
  • 单独设置即覆盖容器的alignItems属性,设置属性跟alignItems属性完全相同

3. flexGrow:空间剩余时,容器成员占剩余空间的放大比例

4. flexShrink:空间不足时,容器成员的缩小比例

5. flexBasis:分配多余空间前,容器成员占据的主轴空间(即横向方向的)

  • 即系统会先减去这部分固定空间(即上面计算公式里的“固定空间”),再去计算容器的剩余空间;
  • 默认值:容器成员本身大小。

特别说明:flex属性

是属性flexGrow、flexShrink 和 flexBasis的快捷设置方式

  • 默认值:0、1、auto
  • 快捷属性1:auto (1、1、auto)
  • 快捷属性2:none (0、0、auto)

至此,关于Flex Box布局常用属性讲解完毕。

实操演示

此处推荐一个Demo网站:https://yogalayout.com/playground,设置属性即可快速预览,方便:

  • 更好的理解各种FlexBox布局的属性
  • 开发时进行快速预览

总结

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/10/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 布局概念
  • 容器属性
    • 1. flexDirection:容器成员的排列方向
      • 2. justifyContent:容器成员在主轴上的对齐方式
        • 3. alignItems:容器成员在交叉轴上的对齐方式
          • 4. alignContent:多根轴线的对齐方式
            • 5. flexWrap:容器成员在轴线方向排列不下时的换行方式
            • 容器成员属性
              • 1. order:容器成员的排列顺序
                • 2. alignSelf:容器成员在容器的交叉轴对齐方式
                  • 3. flexGrow:空间剩余时,容器成员占剩余空间的放大比例
                    • 4. flexShrink:空间不足时,容器成员的缩小比例
                      • 5. flexBasis:分配多余空间前,容器成员占据的主轴空间(即横向方向的)
                        • 特别说明:flex属性
                        • 实操演示
                        • 总结
                        相关产品与服务
                        容器服务
                        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档