Grid布局实现文章目录分区技巧
时间:2026-01-27 12:29:33 301浏览 收藏
本篇文章给大家分享《Grid布局实现文章目录分区方法》,覆盖了文章的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。
CSS Grid实现文章目录布局的核心是用grid-template-columns划分功能区:容器设为display: grid,通过列宽比例(如240px 1fr)、grid-template-areas命名区域、嵌套grid对齐目录项,并用媒体查询调整列结构实现响应式。

用 CSS Grid 实现文章目录布局,核心是用 grid-template-columns 划分左右(或上下)功能区:一边放导航菜单,一边放正文内容。关键不是堆砌属性,而是理清“谁是容器、谁是分区、内容如何对齐”。
把容器设为 grid,并定义列宽比例
给包裹目录和正文的外层容器(比如 )设置 display: grid,再用 grid-template-columns 指定菜单和内容的宽度关系:
- 固定菜单 + 自适应内容:
grid-template-columns: 240px 1fr;—— 左侧菜单宽 240px,右侧自动占满剩余空间 - 等宽双栏:
grid-template-columns: 1fr 1fr;—— 适合对比型目录(如“大纲 / 详情”) - 响应式三栏(含折叠菜单):
grid-template-columns: minmax(0, 1fr) 3fr 1fr;—— 中间主内容最宽,左右为辅助区(如标签+目录)
用 grid-area 或显式网格线命名区域,提升可维护性
比起靠顺序猜位置,给区域起名更直观。配合 grid-template-areas 使用:
.toc-layout {
display: grid;
grid-template-areas:
"nav main"
"nav aside";
grid-template-columns: 260px 1fr;
grid-template-rows: 1fr auto;
}然后让子元素通过 grid-area: nav、grid-area: main 等直接归位。这样 HTML 结构可以自由调整,样式逻辑依然清晰。
菜单内部也用 grid 做垂直/层级对齐
目录项(如 h2、h3 标题链接)本身也可用 grid 微调对齐方式:
- 用
grid-template-columns: 32px 1fr;实现「图标 + 文字」左对齐,图标列固定不随文字换行错位 - 嵌套小目录(如二级标题)时,加
margin-inline-start: 1rem或用grid-column: 2控制缩进,比纯 padding 更可控 - 高亮当前激活项?直接给对应
加background: #f5f5f7; border-left: 3px solid #007bff;即可,无需额外 wrapper
响应式断点只需改 columns,不用重写结构
在小屏下收起菜单是常见需求。只需媒体查询中修改列定义:
@media (max-width: 768px) {
.toc-layout {
grid-template-columns: 1fr; /* 菜单和内容叠成一列 */
}
.toc-nav { order: 2; } /* 让菜单沉到底部,保持阅读流自然 */
.toc-main { order: 1; }
}不需要新增 DOM、不依赖 JS 切换类名,CSS Grid 天然支持这种流式重组。
基本上就这些。Grid 不是用来炫技的,而是让“分区意图”在代码里一眼可见。菜单要不要固定、缩进怎么算、小屏怎么收——全由 grid-template-columns 和几行 grid-area 决定,干净又灵活。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
120 收藏
-
437 收藏
-
143 收藏
-
484 收藏
-
500 收藏
-
340 收藏
-
473 收藏
-
294 收藏
-
120 收藏
-
296 收藏
-
293 收藏
-
286 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习