跳到主要内容
前端术语库

圣杯布局

Holy Grail Layout

布局模式也叫:三栏布局、左中右布局、双飞翼布局、Three Column Layout

一句话:页头和页脚横跨全宽,中间一行分成左侧栏、主内容、右侧栏三栏,两侧栏宽度固定,主内容栏自适应伸缩。

详细解释

圣杯布局是一种经典的网页结构:最上面是页头,最下面是页脚,中间一行分成三栏。左栏放导航或分类,中间放主内容,右栏放推荐、公告、目录等辅助信息。两侧栏宽度固定(比如 200px 和 240px),中间栏随窗口宽度伸缩。

名字来自早年用 float 很难把它写对,被戏称为网页布局里的「圣杯」。现在用 CSS Grid 几行代码就能实现。

它和「侧边导航+内容」的区别是多了一条右侧栏,适合同时有导航和辅助信息的门户、论坛、文档站。它和「主从布局」的区别在于三栏内容相互独立:左栏点击通常是切换分类或跳转页面,而不是在旁边打开选中记录的详情。窄屏上两侧栏一般收起,或移到主内容下方。

示例

灰度线框示意,只表达结构,不代表具体视觉风格。

怎么跟 AI 说

可以直接贴给 Cursor、Claude Code 等工具,把里面的业务内容换成你自己的。

页面用圣杯布局(Holy Grail):顶部全宽页头,底部全宽页脚;中间分三栏,左栏 200px 放分类导航,右栏 240px 放热门推荐和公告,中间主内容自适应宽度且最小 480px。用 CSS Grid 实现,内容少时页脚也贴在底部;屏幕窄于 768px 时两侧栏移到主内容下方。

结构与适用场景

结构描述

顶部页头和底部页脚横跨全宽;中间一行分为固定宽度的左栏、自适应宽度的主内容栏、固定宽度的右栏。

适用场景

  • 页面同时有导航分类和辅助信息,需要在主内容两侧常驻展示时
  • 门户、论坛、文档站等内容型网站,主内容以阅读为主时
  • 桌面端屏幕宽度充足、希望充分利用横向空间时

不适用场景

  • 只有导航没有辅助信息,右栏只能空着或硬塞内容时
  • 左侧选中一条记录后要在旁边查看它的详情时(应该用主从布局)
  • 主要在手机上浏览、屏幕放不下三栏时
  • 主内容是宽表格或看板,需要尽量多的横向空间时

常见坏用法

  • 右栏没有真正有用的内容,硬塞一堆占位模块
  • 中间栏不设最小宽度,窗口一缩就被两侧栏挤得很窄
  • 窄屏时三栏原样保留,每栏都挤成细长一条

识别特征

  • 页头和页脚横跨整个页面宽度
  • 中间是左中右三栏,中间栏最宽
  • 窗口缩放时只有中间栏变宽变窄,两侧栏宽度不变

DOM 线索

插件本地识别时匹配的 CSS 选择器(标签、ARIA role、常见组件库 class)。

  • .ant-layout:has(> .ant-layout-sider ~ .ant-layout-content ~ .ant-layout-sider)
  • .el-container:has(> .el-aside ~ .el-main ~ .el-aside)