爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      ​Flex布局详解

      首页 知识中心 软件开发 文章详情页

      ​Flex布局详解

      2025-03-04 09:31:43 阅读次数:8

      flex,元素,容器,对齐,属性,项目

      ​Flex布局详解

      一、是什么

      Flexible Box 简称 flex,意为”弹性布局”,可以简便、完整、响应式地实现各种页面布局

      采用Flex布局的元素,称为flex容器container

      它的所有子元素自动成为容器成员,称为flex项目item

      ​Flex布局详解

      容器中默认存在两条轴,主轴和交叉轴,呈90度关系。项目默认沿主轴排列,通过flex-direction来决定主轴的方向

      每根轴都有起点和终点,这对于元素的对齐非常重要

      二、属性

      关于flex常用的属性,我们可以划分为容器属性和容器成员属性

      容器属性有:

      • flex-direction
      • flex-wrap
      • flex-flow
      • justify-content
      • align-items
      • align-content

      flex-direction

      决定主轴的方向(即项目的排列方向)

      .container {   
          flex-direction: row | row-reverse | column | column-reverse;  
      } 
      

      属性对应如下:

      • row(默认值):主轴为水平方向,起点在左端
      • row-reverse:主轴为水平方向,起点在右端
      • column:主轴为垂直方向,起点在上沿。
      • column-reverse:主轴为垂直方向,起点在下沿

      如下图所示:

      ​Flex布局详解

      flex-wrap

      弹性元素永远沿主轴排列,那么如果主轴排不下,通过flex-wrap决定容器内项目是否可换行

      .container {  
          flex-wrap: nowrap | wrap | wrap-reverse;
      }  
      

      属性对应如下:

      • nowrap(默认值):不换行
      • wrap:换行,第一行在下方
      • wrap-reverse:换行,第一行在上方

      默认情况是不换行,但这里也不会任由元素直接溢出容器,会涉及到元素的弹性伸缩

      flex-flow

      是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap

      .box {
        flex-flow: <flex-direction> || <flex-wrap>;
      }
      

      justify-content

      定义了项目在主轴上的对齐方式

      .box {
          justify-content: flex-start | flex-end | center | space-between | space-around;
      }
      

      属性对应如下:

      • flex-start(默认值):左对齐
      • flex-end:右对齐
      • center:居中
      • space-between:两端对齐,项目之间的间隔都相等
      • space-around:两个项目两侧间隔相等

      效果图如下:

      ​Flex布局详解

      align-items

      定义项目在交叉轴上如何对齐

      .box {
        align-items: flex-start | flex-end | center | baseline | stretch;
      }
      

      属性对应如下:

      • flex-start:交叉轴的起点对齐
      • flex-end:交叉轴的终点对齐
      • center:交叉轴的中点对齐
      • baseline: 项目的第一行文字的基线对齐
      • stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度

      align-content

      定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用

      .box {
          align-content: flex-start | flex-end | center | space-between | space-around | stretch;
      }
      

      属性对应如吓:

      • flex-start:与交叉轴的起点对齐
      • flex-end:与交叉轴的终点对齐
      • center:与交叉轴的中点对齐
      • space-between:与交叉轴两端对齐,轴线之间的间隔平均分布
      • space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍
      • stretch(默认值):轴线占满整个交叉轴

      效果图如下:

      ​Flex布局详解

      容器成员属性如下:

      • order
      • flex-grow
      • flex-shrink
      • flex-basis
      • flex
      • align-self

      order

      定义项目的排列顺序。数值越小,排列越靠前,默认为0

      .item {
          order: <integer>;
      }
      

      flex-grow

      上面讲到当容器设为flex-wrap: nowrap;不换行的时候,容器宽度有不够分的情况,弹性元素会根据flex-grow来决定

      定义项目的放大比例(容器宽度>元素总宽度时如何伸展)

      默认为0,即如果存在剩余空间,也不放大

      .item {
          flex-grow: <number>;
      }
      

      如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)

      ​Flex布局详解

      如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍

      ​Flex布局详解

      弹性容器的宽度正好等于元素宽度总和,无多余宽度,此时无论flex-grow是什么值都不会生效

      flex-shrink

      定义了项目的缩小比例(容器宽度<元素总宽度时如何收缩),默认为1,即如果空间不足,该项目将缩小

      .item {
          flex-shrink: <number>; /* default 1 */
      }
      

      如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小

      如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小

      ​Flex布局详解

      在容器宽度有剩余时,flex-shrink也是不会生效的

      flex-basis

      设置的是元素在主轴上的初始尺寸,所谓的初始尺寸就是元素在flex-grow和flex-shrink生效前的尺寸

      浏览器根据这个属性,计算主轴是否有多余空间,默认值为auto,即项目的本来大小,如设置了width则元素尺寸由width/height决定(主轴方向),没有设置则由内容决定

      .item {
         flex-basis: <length> | auto; /* default auto */
      }
      

      当设置为0的是,会根据内容撑开

      它可以设为跟width或height属性一样的值(比如350px),则项目将占据固定空间

      flex

      flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto,也是比较难懂的一个复合属性

      .item {
       flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
      }
      

      一些属性有:

      • flex: 1 = flex: 1 1 0%
      • flex: 2 = flex: 2 1 0%
      • flex: auto = flex: 1 1 auto
      • flex: none = flex: 0 0 auto,常用于固定尺寸不伸缩

      flex:1 和 flex:auto 的区别,可以归结于flex-basis:0和flex-basis:auto的区别

      当设置为0时(绝对弹性元素),此时相当于告诉flex-grow和flex-shrink在伸缩的时候不需要考虑我的尺寸

      当设置为auto时(相对弹性元素),此时则需要在伸缩时将元素尺寸纳入考虑

      注意:建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值

      align-self

      允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性

      默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch

      .item {
          align-self: auto | flex-start | flex-end | center | baseline | stretch;
      }
      

      效果图如下:

      ​Flex布局详解

      三、应用场景

      在以前的文章中,我们能够通过flex简单粗暴的实现元素水平垂直方向的居中,以及在两栏三栏自适应布局中通过flex完成,这里就不再展开代码的演示

      包括现在在移动端、小程序这边的开发,都建议使用flex进行布局

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://qingshan09.blog.csdn.net/article/details/134176960,作者:前端青山,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:C++算法:135分发糖果

      下一篇:解析判断语句,洞悉 Python 逻辑

      相关文章

      2025-05-19 09:04:53

      容器技术-Docker 容器的端口发布

      容器技术-Docker 容器的端口发布

      2025-05-19 09:04:53
      Docker , 容器 , 指定 , 映射 , 端口
      2025-05-16 09:15:24

      Redis Set集合

      Redis Set集合

      2025-05-16 09:15:24
      set , 个数 , 元素 , 示例 , 集合
      2025-05-14 10:33:31

      计算机小白的成长历程——数组(1)

      计算机小白的成长历程——数组(1)

      2025-05-14 10:33:31
      strlen , 个数 , 元素 , 内存 , 十六进制 , 地址 , 数组
      2025-05-14 10:33:31

      【数据结构】详细介绍串的简单模式匹配——朴素模式匹配算法

      【数据结构】详细介绍串的简单模式匹配——朴素模式匹配算法

      2025-05-14 10:33:31
      下标 , 元素 , 匹配 , 子串 , 模式匹配 , 算法
      2025-05-14 10:33:16

      30天拿下Rust之向量

      在Rust语言中,向量(Vector)是一种动态数组类型,可以存储相同类型的元素,并且可以在运行时改变大小。向量是Rust标准库中的一部分,位于std::vec模块中。

      2025-05-14 10:33:16
      Rust , 使用 , 元素 , 向量 , 方法 , 索引 , 迭代
      2025-05-14 10:33:16

      C++ 11新特性之tuple

      在C++编程语言的发展历程中,C++ 11标准引入了许多开创性的新特性,极大地提升了开发效率与代码质量。其中,tuple(元组)作为一种强大的容器类型,为处理多个不同类型的值提供了便捷的手段。

      2025-05-14 10:33:16
      std , 元素 , 函数 , 初始化 , 模板 , 类型
      2025-05-14 10:03:13

      数据结构-队列

      队列是仅限在一端进行插入,另一端进行删除的线性表。

      2025-05-14 10:03:13
      元素 , 入队 , 出队 , 链表 , 队列
      2025-05-14 09:51:21

      Docker大学生看了都会系列(十、Docker网络)

      docker使用Linux桥接网卡,在宿主机虚拟一个docker容器网桥(docker0),docker启动一个容器时会根据docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网络网关。

      2025-05-14 09:51:21
      docker , Docker , 容器 , 宿主机 , 模式 , 网桥 , 网络
      2025-05-14 09:51:21

      Docker大学生看了都会系列(三、常用帮助、镜像、容器命令)

      Docker大学生看了都会系列(三、常用帮助、镜像、容器命令)

      2025-05-14 09:51:21
      container , docker , 命令 , 容器 , 查看 , 镜像
      2025-05-13 09:50:28

      java实现-48. 旋转图像

      给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。

      2025-05-13 09:50:28
      length , matrix , 代码 , 元素 , 旋转 , 矩阵
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5275585

      查看更多

      最新文章

      Redis Set集合

      2025-05-16 09:15:24

      【数据结构】详细介绍串的简单模式匹配——朴素模式匹配算法

      2025-05-14 10:33:31

      30天拿下Rust之向量

      2025-05-14 10:33:16

      C++ 11新特性之tuple

      2025-05-14 10:33:16

      数据结构-队列

      2025-05-14 10:03:13

      java实现-48. 旋转图像

      2025-05-13 09:50:28

      查看更多

      热门文章

      配置docker API

      2023-05-05 10:13:08

      python学习(6)——列表元素的添加、删除、修改及排序

      2023-05-22 03:00:29

      【Spring专场】「AOP容器」不看源码就带你认识核心流程以及运作原理

      2023-07-04 07:09:30

      Lc27_移除元素

      2023-04-28 06:45:00

      Lc面试题1710主要元素

      2023-05-19 05:50:39

      React-React的写法

      2024-07-01 01:31:30

      查看更多

      热门标签

      java Java python 编程开发 代码 开发语言 算法 线程 Python html 数组 C++ 元素 javascript c++
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      Python之⾯向对象-继承二

      文心一言 VS 讯飞星火 VS chatgpt (267)-- 算法导论20.2 2题

      选择数组中的前两个元素并删除它们

      【数据结构】栈的远房亲戚——队列

      Python之⾯向对象基础

      Java中的经典排序算法:插入排序、希尔排序、选择排序、堆排序与冒泡排序(如果想知道Java中有关插入排序、希尔排序、选择排序、堆排序与冒泡排序的知识点,那么只看这一篇就足够了!)

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号