布局使用与切换
了解内置布局后,关键是灵活切换:全局默认、单页指定、插槽分栏,让不同页面用不同排版服务不同内容。
Frontmatter 指定布局
全局设置默认布局(所有页生效,单页可覆盖):
markdown
---
layout: center
---
# 此页居中
---
# 此页也居中(继承全局)页级 Frontmatter 单独指定(只对本页生效):
markdown
---
layout: cover
---
# 封面页
---
## 正文页
没有指定布局的页面使用全局默认。优先级:页级 layout 覆盖全局 layout。
每张幻灯片独立布局
Slidev 中每页通过自己的 Frontmatter 决定布局,一页一个:
markdown
---
layout: cover
---
# 封面
---
---
layout: two-cols
---
# 左栏
::right::
# 右栏
---
---
layout: quote
---
# 金句页三种布局(cover、two-cols、quote)在同一份文稿中按页切换,内容与排版一一对应。
布局中的插槽
分栏类布局(如 two-cols、image)通过插槽把内容分配到不同区域。
默认插槽 ::default::
未显式声明时,内容进入默认插槽(通常是左栏或主内容区):
markdown
---
layout: two-cols
---
这是默认插槽内容(左栏)。右栏插槽 ::right::
用 ::right:: 把后续内容切到右栏:
markdown
---
layout: two-cols
---
左栏内容。
::right::
右栏内容。常用插槽速查
| 插槽 | 位置 |
|---|---|
::default:: | 默认内容区(左侧/主区) |
::left:: | 左栏 |
::right:: | 右栏 |
::top:: | 顶部区域 |
::bottom:: | 底部区域 |
自定义布局中可定义任意具名插槽,内置布局的插槽名以 default、left、right 等约定命名。
插槽语法细节
- 插槽标记写为
::插槽名::(MDC 语法) - 内容从标记处开始,直到下一个插槽标记或页面结束
- 插槽标记本身不渲染
markdown
---
layout: image-right
image: /demo.png
---
# 标题(默认插槽)
正文说明文字。
::right::
图片区域由布局组件渲染,无需手动放置。布局与内容组织建议
| 场景 | 布局策略 |
|---|---|
| 单页特殊排版 | 页级 layout |
| 同类页较多 | 全局 layout + 个别覆盖 |
| 图文页 | image 系列 + image: 属性 |
| 对比页 | two-cols + ::right:: |
| 三栏内容 | three-cols + 两次 ::right:: |
常见问题
| 问题 | 处理 |
|---|---|
| 插槽内容没显示 | 检查插槽名是否与布局组件定义一致 |
| 全局布局想重置 | 页级显式写 layout: default |
| 布局带属性 | 页级 Frontmatter 写属性(如 image: 路径) |
布局切换与插槽组合让同一套主题能承载封面、正文、对比、引用等全部版式;若内置布局仍不够,下一步学习在 layouts/ 中开发自定义布局。