diff --git a/one/docs/components/content.md b/one/docs/components/content.md
new file mode 100644
index 0000000..9d802f0
--- /dev/null
+++ b/one/docs/components/content.md
@@ -0,0 +1,15 @@
+# Content 布局内容
+
+:::tip
+`Content` 组件需要配合 [`Layout`](./layout) / [`Header`](./header) / [`Footer`](./footer) / [`Sidebar`](./sidebar) 组件使用。
+:::
+
+## 示例
+
+见 [`Layout` 示例](./layout#示例)。
+
+### 插槽
+
+| 名称 | 描述 |
+| -- | -- |
+| ``default`` | 布局内容。 |
diff --git a/one/docs/components/footer.md b/one/docs/components/footer.md
new file mode 100644
index 0000000..4b350df
--- /dev/null
+++ b/one/docs/components/footer.md
@@ -0,0 +1,22 @@
+# Footer 布局底部
+
+:::tip
+`Footer` 组件需要配合 [`Layout`](./layout) / [`Header`](./header) / [`Sidebar`](./sidebar) / [`Content`](./content) 组件使用。
+:::
+
+## 示例
+
+见 [`Layout` 示例](./layout#示例)。
+
+## API
+
+### 属性
+| 名称 | 类型 | 默认值 | 描述 |
+| -- | -- | -- | -- |
+| ``sticky`` | `boolean` | `false` | 是否吸顶。使用注意参考[`吸顶/吸底布局`](./layout#吸顶吸底布局)。 |
+
+### 插槽
+
+| 名称 | 描述 |
+| -- | -- |
+| ``default`` | 布局底部的内容。 |
diff --git a/one/docs/components/header.md b/one/docs/components/header.md
new file mode 100644
index 0000000..5740cdd
--- /dev/null
+++ b/one/docs/components/header.md
@@ -0,0 +1,22 @@
+# Header 布局头部
+
+:::tip
+`Header` 组件需要配合 [`Layout`](./layout) / [`Sidebar`](./sidebar) / [`Footer`](./footer) / [`Content`](./content) 组件使用。
+:::
+
+## 示例
+
+见 [`Layout` 示例](./layout#示例)。
+
+## API
+
+### 属性
+| 名称 | 类型 | 默认值 | 描述 |
+| -- | -- | -- | -- |
+| ``sticky`` | `boolean` | `false` | 是否吸顶。使用注意参考[`吸顶/吸底布局`](./layout#吸顶吸底布局)。 |
+
+### 插槽
+
+| 名称 | 描述 |
+| -- | -- |
+| ``default`` | 布局头部的内容。 |
diff --git a/one/docs/components/layout.md b/one/docs/components/layout.md
index d04f62c..1d5629d 100644
--- a/one/docs/components/layout.md
+++ b/one/docs/components/layout.md
@@ -10,31 +10,36 @@
`Layout` 组件支持多种典型布局。
-// TBD
+[[ demo src="/demo/layout/basic.vue" ]]
-
+### 通顶侧边栏
-### 收起侧边栏
+[[ demo src="/demo/layout/global-sidebar.vue" ]]
-`Sidebar` 组件通过 [`collapse-mode`](./Sidebar#props-collapse-mode) 属性支持两种收起模式,分别是 `slim`(部分收起)/`hidden`(完全收起)。
+### 通栏底部
-// TBD
-
-
+[[ demo src="/demo/layout/global-footer.vue" ]]
### 吸顶/吸底布局
`Header` / `Sidebar` / `Footer` 组件均支持通过 `sticky` 属性设置吸顶/吸底。
-// TBD
+:::tip
+当吸顶的布局头部和吸顶侧边栏一起使用需要在布局头部的父组件 `Layout` 上设置 `--dls-layout-header-height` 来指定布局头部的高度。
+:::
-
+:::tip
+当吸底的布局底部和吸顶侧边栏一起使用需要在布局底部的父组件 `Layout` 上设置 `--dls-layout-footer-height` 来指定布局底部的高度。
+:::
+
+[[ demo src="/demo/layout/sticky.vue" ]]
## API
### 属性
-
-// TBD
+| 名称 | 类型 | 默认值 | 描述 |
+| -- | -- | -- | -- |
+| ``direction`` | `'column' | 'row'` | `'column'` | 布局排列方向。在有 `Sidebar` 时,默认为 `'row'`。 |
### 插槽
diff --git a/one/docs/components/sidebar.md b/one/docs/components/sidebar.md
new file mode 100644
index 0000000..1b172fa
--- /dev/null
+++ b/one/docs/components/sidebar.md
@@ -0,0 +1,44 @@
+# Sidebar 布局侧边栏
+
+:::tip
+`Sidebar` 组件需要配合 [`Layout`](./layout) / [`Header`](./header) / [`Footer`](./footer) / [`Content`](./content) 组件使用。
+:::
+
+## 示例
+
+### 收起侧边栏
+
+通过 [`collapse-mode`](#props-collapse-mode) 属性指定收起模式,分别是 `slim`(部分收起) / `hidden`(完全收起)。
+
+[[ demo src="/demo/sidebar/collapse-mode.vue" ]]
+
+### 展示/隐藏切换按钮
+
+使用 `collapsible` 属性设置是否显示侧边栏展开/收起按钮。
+
+[[ demo src="/demo/sidebar/collapsible.vue" ]]
+
+## API
+
+### 属性
+| 名称 | 类型 | 默认值 | 描述 |
+| -- | -- | -- | -- |
+| ``sticky`` | `boolean` | `false` | 是否吸顶。使用注意参考[`吸顶/吸底布局`](./layout#吸顶吸底布局)。 |
+| ``collapsible`` | `boolean` | `false` | 是否显示收起/展开按钮。 |
+| ``collapsed`` | `boolean` | `false` | [^collapsed] |
+| ``autocollapse`` | `boolean` | `false` | 是否拉伸窗口到一定阈值时自动收起。 |
+| ``collapse-mode`` | `'slim' | 'hidden'` | `'slim'` | 收起模式,分别是 `slim`(部分收起)/`hidden`(完全收起)。
+
+^^^collapsed
+:::badges
+`.sync`
+:::
+
+收起/展开的状态。
+^^^
+
+### 插槽
+
+| 名称 | 描述 |
+| -- | -- |
+| ``default`` | 布局侧边栏的内容。 |
diff --git a/one/docs/demo/layout/basic.vue b/one/docs/demo/layout/basic.vue
new file mode 100644
index 0000000..e457ec0
--- /dev/null
+++ b/one/docs/demo/layout/basic.vue
@@ -0,0 +1,56 @@
+
+
+
+
+ Header
+
+
+ Sidebar
+
+
+ Content
+ Footer(背景仅为演示)
+
+
+
+
+
+
+
+
+
+
diff --git a/one/docs/demo/layout/global-footer.vue b/one/docs/demo/layout/global-footer.vue
new file mode 100644
index 0000000..3704aae
--- /dev/null
+++ b/one/docs/demo/layout/global-footer.vue
@@ -0,0 +1,60 @@
+
+
+
+
+ Header
+
+
+ Sidebar
+
+
+ Content
+
+
+ Footer(背景仅为演示)
+
+
+
+
+
+
+
+
diff --git a/one/docs/demo/layout/global-sidebar.vue b/one/docs/demo/layout/global-sidebar.vue
new file mode 100644
index 0000000..b418ad3
--- /dev/null
+++ b/one/docs/demo/layout/global-sidebar.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+ Sidebar
+
+
+ Header
+
+ Content
+ Footer(背景仅为演示)
+
+
+
+
+
+
+
+
+
+
diff --git a/one/docs/demo/layout/sticky.vue b/one/docs/demo/layout/sticky.vue
new file mode 100644
index 0000000..05bc0aa
--- /dev/null
+++ b/one/docs/demo/layout/sticky.vue
@@ -0,0 +1,69 @@
+
+
+
+
+ Header
+
+
+ Sidebar
+
+
+
+ Sidebar
+
+ Footer(背景仅为演示)
+
+
+
+
+
+
+
+
+
+
diff --git a/one/docs/demo/sidebar/collapse-mode.vue b/one/docs/demo/sidebar/collapse-mode.vue
new file mode 100644
index 0000000..968afa6
--- /dev/null
+++ b/one/docs/demo/sidebar/collapse-mode.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+ Header
+
+
+ Sidebar
+
+
+ Content
+ Footer(背景仅为演示)
+
+
+
+
+
+
+
+
+
+
diff --git a/one/docs/demo/sidebar/collapsible.vue b/one/docs/demo/sidebar/collapsible.vue
new file mode 100644
index 0000000..b2b73b5
--- /dev/null
+++ b/one/docs/demo/sidebar/collapsible.vue
@@ -0,0 +1,56 @@
+
+
+
+
+ Header
+
+
+ Sidebar
+
+
+ Content
+ Footer(背景仅为演示
+
+
+
+
+
+
+
+
+
+
diff --git a/one/docs/nav.json b/one/docs/nav.json
index 0741bf2..7c5c75f 100644
--- a/one/docs/nav.json
+++ b/one/docs/nav.json
@@ -241,6 +241,26 @@
"title": "Label - 标签",
"slug": "label"
},
+ {
+ "title": "Layout - 布局",
+ "slug": "layout"
+ },
+ {
+ "title": "Header - 布局头部",
+ "slug": "header"
+ },
+ {
+ "title": "Sidebar - 布局侧边栏",
+ "slug": "sidebar"
+ },
+ {
+ "title": "Content - 布局内容",
+ "slug": "content"
+ },
+ {
+ "title": "Footer - 布局底部",
+ "slug": "footer"
+ },
{
"title": "Span - 行内文本",
"slug": "span"