登录
首页 >  文章 >  前端

Grid布局实现三列九宫格技巧

时间:2026-01-27 10:29:35 300浏览 收藏

golang学习网今天将给大家带来《Grid布局实现三列九宫格效果方法》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习文章或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

用 grid-template-columns: repeat(3, 1fr) 可快速实现三行三列等宽九宫格;需配合 grid-auto-rows: 1fr 或 aspect-ratio: 1 实现等高或正方形格子,再通过 gap 设置间距、媒体查询适配小屏。

Grid网格布局如何实现类似九宫格效果_使用repeat(3,1fr)快速创建三列网格

grid-template-columns: repeat(3, 1fr) 就能快速实现标准九宫格布局——三行三列、等宽等高、自动填充内容。

基础九宫格结构

只需设置容器为 grid,并定义三列等分,Grid 会自动按内容顺序逐行填满:

  • 给父容器加 display: grid
  • grid-template-columns: repeat(3, 1fr) 创建三列弹性列
  • 默认 grid-auto-rows: auto,建议显式设为 1fr 或固定值(如 100px)保证行高一致

让每格变成正方形(常用需求)

九宫格常要求“方格”,仅靠 1fr 不控制高度。推荐用 aspect-ratio: 1

  • 给子项(每个格子)设置 aspect-ratio: 1,浏览器自动保持宽高相等
  • 配合 width: 100%height: 100%(或 grid-area 占满)效果更稳
  • 旧版浏览器不支持 aspect-ratio?可用 padding-top: 100% + position: relative/absolute 模拟

响应式九宫格(适配小屏)

手机上三列太挤,用媒体查询动态调整列数:

  • @media (max-width: 768px) { grid-template-columns: repeat(2, 1fr); }
  • @media (max-width: 480px) { grid-template-columns: 1fr; }
  • 也可用 repeat(auto-fit, minmax(200px, 1fr))) 替代固定 3 列,更灵活

对齐与间距别忽略

格子之间留白、整体居中,影响观感:

  • gap: 12px 统一行列间距(替代老式 margin 负技巧)
  • 容器加 justify-items: center 让所有子项水平居中(若子项宽度不足)
  • 若内容不填满整格,加 align-items: stretch(默认)确保等高

基本上就这些 —— 三列靠 repeat(3, 1fr),方格靠 aspect-ratio,响应靠媒体查询或 auto-fit,间隙靠 gap。不复杂但容易忽略细节。

终于介绍完啦!小伙伴们,这篇关于《Grid布局实现三列九宫格技巧》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>