登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
Web前端入门第 38 问:CSS flex 弹性盒子与 grid 网格布 ...
Web前端入门第 38 问:CSS flex 弹性盒子与 grid 网格布局区别及应用场景
[ 复制链接 ]
届表
2025-6-2 21:55:24
弹性盒子又称为 Flexbox,然而我更喜欢 flex 的叫法。
flex 弹性盒子和 grid 网格布局作为前端开发中两把利器,它们的分界线没那么明显,虽然按照 MDN 的说法 flex 多用于一维布局(行/列),grid 多用于二维布局(行列网格),但实际开发中用多个一维布局也能拼凑出一个完整的二维布局。
grid 主要用来简化 html 结构,在一些二维布局的场景下,使用 flex 时需要更复杂的 html 结构支撑,而使用 grid 则可以尽可能的简化 html 结构。
我的理解 flex 擅长细节上的雕琢,而 grid 更擅长宏观上的调控。
flex 的应用场景
下面细说 flex 的应用场景,及同时使用 grid 会怎样实现。
网页导航
随处可见的网页导航布局,看图:
使用 flex 实现可以是这样的代码结构:
首页
新闻
产品
联系我们
公司简介
关于我们
复制代码
使用 grid 实现的代码结构:
首页
新闻
产品
联系我们
公司简介
关于我们
复制代码
可以看到,在处理一维布局时候,flex 可以说是得心应手,grid 则需要多写一些代码。
flex 的代码长得小清新一样,而 grid 总感觉有点长歪了~
常见的左右布局
再看这种常见的栏目标题布局:
使用 flex 实现:
<h3 >栏目标题</h3>
更多 >
复制代码
使用 grid 实现:
<h3 >栏目标题</h3>
更多 >
复制代码
对比下来,使用 grid 的代码还是多了一行 grid-auto-flow: column;,小清新的 flex 还是要苗条一点~
常见的左左右布局
以百度首页的热搜导航为例:
使用 flex 实现:
以下示例代码巧用了 margin-left: auto; 让元素跑到右侧位置。
我的关注
百度热搜
换一换
复制代码
使用 grid 实现:
我的关注
百度热搜
换一换
复制代码
对比下来,还是 flex 布局更显得小清新一点。
一维布局 flex 与 grid 对比
对比了几种常见的一维列布局,使用 flex 比使用 grid 代码要简洁一点,虽然都能达到想要的效果,当然是代码越少越好了。
gird 应用场景
看完了一维布局的几个应用场景,再看看 grid 的应用场景。
经典的网页分区
页面的整体框架结构无外乎那几种,我们看一种最常见的管理平台的页面分区:
使用 grid 实现:
Header
Aside
Main
Footer
复制代码
使用 flex 实现:
Header
Aside
Main
Footer
复制代码
可以看到虽然 flex 也实现了一样的页面分区效果,但 HTML 的结构确要比 grid 更加复杂,需要嵌套更多的 HTML 结构用来实现复杂的二维布局。
卡片列表
看一种最常见的卡片列表布局:
使用 grid 实现:
1
2
3
4
5
6
7
8
复制代码
使用 flex 实现:
1
2
3
4
5
6
7
8
复制代码
flex 实现的卡片列表必须明确指定一个宽度,这个宽度值需要减去列间距得出;而 grid 实现的这种卡片列表则无需考虑这种计算问题,直接会自动适应。
二维布局 flex 与 grid 对比
在二维布局领域,grid 当之无愧的强大,虽然 flex 也可以实现一毛一样的效果,当不可避免的是代码冗余。
总结
flex 在一维布局中更能发挥优势,grid 在宏观布局或二维布局中优势更加明显。
在不考虑代码冗余的情况下,flex 和 grid 都能在对方领域抢饭碗。
实际开发中,grid 标准浏览器都是在 2017 年之后才实现的,flex 标准则是在 2012 年就开始支持,项目但凡需要兼容老古董浏览器,grid就别想了,赖克宝吃不到小天鹅~~
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Web
应用
区别
布局
网格
相关帖子
Motorola和Inter的区别
【教程】无需第三方应用,Windows自带邮箱如何绑定QQ邮箱等第三方邮箱
char和varchar的区别?VARCHAR(100)和 VARCHAR(10)的区别?Mysql字段类型20连问
web专项训练(一) ctfhub 专题(一)-- SQL注入(含SQLI-labs)
Web性能优化:What? Why? How?
从Kubernetes到CloudNative——云原生应用之路
Flex布局
Web开发这些年:从“小油条”到“老油条”的成长之路。
Web刷题篇-1 [BJDCTF2020]Easy MD5
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
Motorola和Inter的区别
0
758
史华乐
2025-10-13
安全
【教程】无需第三方应用,Windows自带邮箱如何绑定QQ邮箱等第三方邮箱
0
655
坡琨
2025-10-13
业界
char和varchar的区别?VARCHAR(100)和 VARCHAR(10)的区别?Mysql字段类型20连问
0
894
珠尿娜
2025-10-13
安全
web专项训练(一) ctfhub 专题(一)-- SQL注入(含SQLI-labs)
0
298
莠畅缕
2025-10-13
业界
Web性能优化:What? Why? How?
1
900
聱嘹
2025-10-14
安全
从Kubernetes到CloudNative——云原生应用之路
0
323
湄圳啸
2025-10-15
业界
Flex布局
0
546
损注
2025-10-15
业界
Web开发这些年:从“小油条”到“老油条”的成长之路。
0
383
狭踝仇
2025-10-20
安全
Web刷题篇-1 [BJDCTF2020]Easy MD5
0
957
豹筒生
2025-10-22
安全
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
0
764
赘暨逢
2025-10-23
回复
(1)
指陡
7 天前
回复
使用道具
举报
照妖镜
东西不错很实用谢谢分享
vip免费申请,1年只需15美金$
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
届表
7 天前
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
dage888
999994
3934307807
992122
4
富账慕
9974
5
刎唇
9993
6
邹语彤
9973
7
丧血槌
9977
8
二艰糖
9988
9
匝抽
9986
10
聚怪闩
9948
查看更多