登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
Flex布局
Flex布局
[ 复制链接 ]
损注
4 天前
Flex布局
Flex布局(弹性盒子布局)是CSS3中一种强大的布局模式,它为我们提供了一种更有效的方式来设计响应式页面结构。
一.什么是Flex布局?
Flex布局是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局,这使得元素在容器内的排列、对齐和空间分配变得更加简单和灵活。
基本概念
采用Flex布局的元素称为Flex容器,简称"容器"。它的所有直接子元素自动成为容器成员,称为Flex项目,简称"项目"。
容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。项目默认沿主轴排列。
二.Flex容器属性
1.display
定义一个Flex容器,可以是行内或块级元素:
.container {
display: flex; /* 或 inline-flex */
}
复制代码
2.flex-direction
决定主轴的方向(即项目的排列方向):
.container {
flex-direction: row; /* 默认值:从左到右 */
flex-direction: row-reverse; /* 从右到左 */
flex-direction: column; /* 从上到下 */
flex-direction: column-reverse; /* 从下到上 */
}
复制代码
3.flex-wrap
默认情况下,项目都排在一条线上。flex-wrap定义如果一条轴线排不下,如何换行:
.container {
flex-wrap: nowrap; /* 默认不换行 */
flex-wrap: wrap; /* 换行,第一行在上方 */
flex-wrap: wrap-reverse; /* 换行,第一行在下方 */
}
复制代码
4.justify-content
定义了项目在主轴上的对齐方式:
.container {
justify-content: flex-start; /* 默认值:左对齐 */
justify-content: flex-end; /* 右对齐 */
justify-content: center; /* 居中 */
justify-content: space-between; /* 两端对齐,项目间间隔相等 */
justify-content: space-around; /* 每个项目两侧的间隔相等 */
justify-content: space-evenly; /* 项目间间隔与项目与边框间隔相等 */
}
复制代码
5.align-items
定义项目在交叉轴上如何对齐:
.container {
align-items: stretch; /* 默认值:拉伸填满容器高度 */
align-items: flex-start; /* 交叉轴的起点对齐 */
align-items: flex-end; /* 交叉轴的终点对齐 */
align-items: center; /* 交叉轴的中点对齐 */
align-items: baseline; /* 项目的第一行文字的基线对齐 */
}
复制代码
三.Flex项目属性
1.order
定义项目的排列顺序。数值越小,排列越靠前,默认为0:
.item {
order: <integer>; /* 整数值 */
}
复制代码
2.flex-grow
定义项目的放大比例,默认为0(即如果存在剩余空间,也不放大):
.item {
flex-grow: <number>; /* 默认0 */
}
复制代码
3.flex-shrink
定义了项目的缩小比例,默认为1(即如果空间不足,该项目将缩小):
.item {
flex-shrink: <number>; /* 默认1 */
}
复制代码
4.flex-basis
定义了在分配多余空间之前,项目占据的主轴空间:
.item {
flex-basis: <length> | auto; /* 默认auto */
}
复制代码
5.flex
flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto:
.item {
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}
复制代码
6.align-self
允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性:
.item {
align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
复制代码
四.应用
1. 水平垂直居中
.container {
display: flex;
justify-content: center;
align-items: center;
}
复制代码
2. 圣杯布局
<header>头部</header>
<main>主内容区</main>
<nav>导航</nav>
侧边栏</aside>
<footer>底部</footer>
复制代码
.container {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.main {
display: flex;
flex: 1;
}
main {
flex: 1;
}
nav, aside {
flex: 0 0 200px;
}
nav {
order: -1;
}
复制代码
3. 响应式导航栏
.navbar {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.logo {
margin-right: auto;
}
.nav-links {
display: flex;
}
@media (max-width: 768px) {
.navbar, .nav-links {
flex-direction: column;
}
}
复制代码
五.浏览器兼容性
Flex布局已被所有现代浏览器支持,包括:
Chrome 29+
Firefox 28+
Safari 9+
Edge 12+
iOS Safari 9+
Android Browser 4.4+
六.主要优势包括:
简化复杂布局的实现
轻松实现元素的水平和垂直居中
创建自适应和响应式设计
改变元素的视觉顺序而不影响HTML结构
小结
掌握Flex布局是现代前端开发者的必备技能,它能够大大提高我们创建复杂界面的效率和灵活性。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Flex
布局
相关帖子
CSS页面布局
JavaScript数据网格方案AG Grid 34.1更新:提升开发效率,优化测试与布局体验
Flutter 布局核心思想
Flex布局,绝对定位,层叠布局Stack的详细讲解
记录---CSS Grid 布局:现代网页布局的强大工具
【前端夯实基础】-grid布局
一文搞懂Flex弹性布局空间分配规则
4.布局系统
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
CSS页面布局
1
252
广性
2025-07-27
代码
JavaScript数据网格方案AG Grid 34.1更新:提升开发效率,优化测试与布局体验
1
874
簑威龙
2025-08-08
业界
Flutter 布局核心思想
0
1052
别萧玉
2025-09-02
业界
Flex布局,绝对定位,层叠布局Stack的详细讲解
0
43
啤愿
2025-09-25
安全
记录---CSS Grid 布局:现代网页布局的强大工具
0
42
何玲
2025-09-25
安全
【前端夯实基础】-grid布局
0
628
雨角
2025-09-26
业界
一文搞懂Flex弹性布局空间分配规则
3
133
郁兰娜
2025-10-06
业界
4.布局系统
0
389
拍棹
2025-10-11
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
损注
4 天前
关注
0
粉丝关注
20
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
dage888
999994
3934307807
992122
4
富账慕
9983
5
邹语彤
9985
6
刎唇
9993
7
匝抽
9986
8
聚怪闩
9960
9
烯八
9957
10
孙淼淼
9977
查看更多