前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >flex布局总结

flex布局总结

作者头像
杨肆月
发布2019-10-08 16:36:00
5990
发布2019-10-08 16:36:00
举报
文章被收录于专栏:全栈开发之路全栈开发之路

一、定义及思想

定义:弹性布局盒模型 思想:给予容器控制内部元素高度和宽度的能力

二、兼容性

移动端可以使用 注意加上前缀

代码语言:javascript
复制
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -o-box;
display: box;
display: -webkit-flex;
display: flex;

三、概念示意图

  • 容器container设置:display:flex
  • 内部元素自动成为flex项目item
  • container拥有两条隐形的轴:main axis(水平主轴) 和 cross axis(竖直交叉轴)
  • item按主轴或交叉轴排列,在主轴方向占据的宽度为main size,在交叉轴方向占据的宽度为cross size
  • 注意点:flex容器内元素item的float、clear、vertical-align均失效

四、容器属性详解

1、flex-direction

决定主轴方向

~属性值

  • row(默认):主轴水平,从左到右
  • column:主轴竖直,从上到下
  • row-reverse:主轴水平,从右到左
  • column-reverse:主轴竖直,从下到上

2、flex-wrap

决定当一行排列不下时,是否换行

  • nowrap(默认):自动缩小项目,不换行
  • wrap:换行,且第一行在上方
  • wrap-reverse:换行,且第一行在下方

3、flex-flow

flex-direction和flex-wrap的结合写法

默认值:row nowrap

4、justify-content

决定item在主轴上的对齐方式

  • flex-start(默认):左对齐
  • flex-end:右对齐
  • center:主轴方向居中对齐
  • space-between:两端对齐
  • space-around: 沿轴线均匀分布

5、align-items

决定item在交叉轴上的对齐方式

  • flex-start(默认):顶端对齐
  • flex-end:底部对齐
  • center:交叉轴方向居中对齐
  • baseline: item第一行文字的底部对齐
  • stretch:当item未设置高度时,item将和容器等高对齐

6、align-content

当有多条主轴、item不止一行时,决定多行在交叉轴上的对齐方式。定义此属性后,align-items将失效

  • flex-start(默认):顶端对齐
  • flex-end:底部对齐
  • center:交叉轴方向居中对齐
  • space-between:交叉轴方向两端对齐
  • space-around: 沿交叉轴均匀分布
  • stretch:当item未设置高度时,沿交叉轴拉伸宽度并占满

五、内部元素属性详解

1、order

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

2、flex-grow

定义当容器有多余空间时,item是否放大 默认值为0,不放大 值为整数,表示item的放大比例

3、flex-shrink

定义当容器空间不足时,item是否缩小 默认值为1,自动缩小 值为整数,表示item的缩小比例

4、flex-basis

表示item在主轴上占据的空间,默认值为auto

5、flex

flex-grow、flex-shrink、flex-basis简写

6、align-self

允许item有自己独特的交叉轴上的对齐方式

  • auto(默认):继承父元素align-items
  • flex-start: 顶部对齐
  • flex-end:底部对齐
  • center:交叉轴方向居中对齐
  • baseline: item第一行文字的底部对齐
  • stretch:当item未设置高度时,item将和容器等高对齐
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.10.02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、定义及思想
  • 二、兼容性
  • 三、概念示意图
  • 四、容器属性详解
    • 1、flex-direction
      • ~属性值
    • 2、flex-wrap
      • 3、flex-flow
        • 4、justify-content
          • 5、align-items
            • 6、align-content
            • 五、内部元素属性详解
              • 1、order
                • 2、flex-grow
                  • 3、flex-shrink
                    • 4、flex-basis
                      • 5、flex
                        • 6、align-self
                        相关产品与服务
                        容器服务
                        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档