网站首页 > 技术文章 正文
本篇解释了有关flexbox的知识点内容,重点介绍父元素(flex容器)和子元素(flex元素)的不同及可能的属性。
背景
Flexbox Layout弹性布局模块的目的在于提供一种更有效的方式来布置、调整和页面元素在容器中分配空间,即使是未知大小或者动态的,所以称为flex。
flex布局背后的主要思想是让元素在容器内改变宽高和顺序,以更好的填充空间(主要是为了自适应)。flex布局与方向无关,不像常规布局(基于垂直和水平块布局),缺乏灵活性,无法适应大型项目和复杂的应用程序(特别是改变方向、调整大小、拉伸、缩小等方面)。
- 注意:Flexbox布局最适合组件和小规模的布局,Grid更适合大规模的布局。
知识点
如图,父元素容器,内部包含的是子元素
- display
这里定义了一个flex容器,是否内联取决于给定的值,为所有子元素提供灵活的自适应,css列对flex容器没有影响
- order
默认按顺序排列
- flex-direction
建立主轴,从而定义Flex项目放置在Flex容器中的方向
- row(默认):从左到右ltr; 从右到左rtl
- row-reverse:从右到左ltr; 从左到右rtl
- column:同样row但从上到下
- column-reverse:同样row-reverse但从下到上
- flex-grow
它规定了元素应占用的Flex容器内可用空间的大小。如果所有项都flex-grow设置为1,则容器中的剩余空间将平均分配给所有子项。如果其中一个孩子的值为2,则剩余空间占用的空间是其他孩子的两倍(或者至少会尝试),负数无效
- flex-wrap
默认情况下,flex项目都会尝试一行。你可以更改它并允许元素根据需要使用此属性进行换行。
- nowrap (默认值):所有弹性项目都在一行上
- wrap:flex项目将从上到下包裹到多行。
- wrap-reverse:flex项目将从下到上包裹多行
- flex-shrink
定义了Flex元素在必要时缩小的能力,负数无效
- flex-flow(适用于:parent flex容器元素)
这是一个简写flex-direction和flex-wrap属性,它们共同定义了flex容器的主轴和交叉轴。默认是row nowrap
- flex-basis
定义了在分配剩余空间之前元素的默认大小。它可以是长度(例如20%,5rem等)或关键字;如果设置为0,则不考虑内容周围的额外空间。如果设置为auto,则根据其flex-grow值分配额外空间。
- justify-content
定义了沿主轴的对齐。当线路上的所有弹性项目都不灵活,或者灵活但已达到其最大尺寸时,它有助于分配剩余的额外空闲空间。当它们溢出线时,它还对对齐施加一些控制。
- flex-start (默认值):元素朝起始行打包
- flex-end:元素被打包到最后一行
- center:元素沿着线居中
- space-between:元素均匀分布在线上; 第一项是在起始行,最后一项是在结束行
- space-around:元素均匀分布在线条周围,空间相等。请注意,视觉上空间不相等,因为所有元素在两侧都有相等的空间。第一个元素将在容器边缘上有一个空间单位,但在下一个元素之间有两个单位的空间,因为下一个元素有自己适用的间距。
- space-evenly:元素的分布以便任何两个项目之间的间距(和边缘的空间)相等。
- flex
它是flex-grow, flex-shrink和flex-basis组合。第二个和第三个参数(flex-shrink和flex-basis)是可选的。默认是0 1 auto。建议使用此属性
- align-self
允许align-items为各个弹性项覆盖默认对齐(或指定的对齐)
注意:float,clear和vertical-align对弹性项目没有影响
- align-items
定义了如何沿当前行的横轴布置弹性项目的默认行为。可以将其视为justify-content横轴的版本(垂直于主轴)
- stretch (默认):拉伸以填充容器(仍然尊重最小宽度/最大宽度)
- flex-start:元素的交叉开始边距边缘放置在交叉起始线上
- flex-end:元素的跨端边缘位于交叉线上
- center:元素以横轴为中心
- baseline:元素对齐,例如其基线对齐
- align-content
当横轴上有额外空间时,这会对齐flex容器的线条,类似于主轴justify-content内各元素的对齐方式。
注意:当只有一行弹性元素时,此属性不起作用。
- flex-start:行打包到容器的开头
- flex-end:行打包到容器的末尾
- center:行包装到容器的中心
- space-between:线条均匀分布; 第一行是容器的开头,而最后一行是在容器的最后
- space-around:线条均匀分布,每条线周围的空间相等
- stretch (默认值):线条拉伸以占用剩余空间
兼容性
总结一下
本篇大致通过图文的形式介绍了flex布局的基本知识点,可能不是很全面,要想学习更多关于flex布局的知识,可以参考https://developer.mozilla.org/zh-CN/docs/Web/CSS/flex,如果觉得本文对你有帮助,请麻烦点个关注吧!谢谢!
猜你喜欢
- 2025-06-09 CSS网格布局:现代网页设计的终极解决方案
- 2025-06-09 web前端【卡片式布局】基础示例(卡片式ui设计)
- 2025-06-09 前端网页制作DIV+CSS布局介绍(前端开发网页布局)
- 2025-06-09 什么是可视化拖拽,vue拖拽可视化布局插件特点
- 2025-06-09 CSS:前端必会的flex布局,我把布局代码全部展示出来了
- 2024-09-29 图文详解CSS中的Grid布局,你真的可以5分钟掌握
- 2024-09-29 html2canvas - 动态生成微信分享海报的优质js库
- 2024-09-29 Web前端开发进阶教程:CSS 布局方式详解
- 2024-09-29 CSS-常见布局介绍 css布局有几种
- 2024-09-29 前端笔记-flex 布局 flex布局 order
你 发表评论:
欢迎- 07-07使用AI开发招聘网站(100天AI编程实验)
- 07-07Tailwindcss 入门(tailwindcss中文文档)
- 07-07CSS 单位指南(css计量单位)
- 07-07CSS 定位详解(css定位属性的运用)
- 07-07程序员可以作为终身职业吗?什么情况下程序员会开始考虑转行?
- 07-07云和学员有话说:国企转行前端开发,斩获13K高薪!
- 07-0791年转行前端开发,是不是不该转,有啥风险?
- 07-07计算机图形学:变换矩阵(图形学 矩阵变换)
- 595℃几个Oracle空值处理函数 oracle处理null值的函数
- 587℃Oracle分析函数之Lag和Lead()使用
- 575℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 572℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 568℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 561℃【数据统计分析】详解Oracle分组函数之CUBE
- 548℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 541℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- 前端获取当前时间 (50)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)