TinyVueContainer组件提供五种预制版型和四个插槽,通过pattern属性切换布局风格,支持动态调节header、footer高度及aside宽度,main区域自动填充,配合CSS变量实现主题定制,显著简化后台开发工作。
搭建后台管理系统时,经典的“顶-侧-主-底”四区布局,开发者都不会陌生。header在上,aside在左,main居中,footer在下。看似简单,但手写CSS时,各种问题会逐渐显现:aside宽度设为200px,菜单文字稍长就会溢出;footer难以固定到底部,中间出现大片空白;header高度调整后,main区域又需要重新计算 calc()。这种布局方式更多是在调整数值,而非真正的开发工作。

长期稳定更新的攒劲资源: >>>点此立即查看<<<
TinyVue 的 Container(容器布局)组件正是为了解决这类重复性工作。它将应用级布局抽象为五种预制版型,每种版型预设了 header、aside、main、footer 四个区域的位置关系。开发者只需选择一个版型,将内容填入对应插槽,宽度、高度和自适应布局均由组件自动完成。
Container 组件本质上是一个“布局容器”,提供四个命名插槽,对应页面的四个核心区域:
| 插槽名 | 区域 | 说明 |
|---|---|---|
header | 头部 | 顶部导航栏、标题栏等 |
aside | 侧边栏 | 左侧菜单、导航树等 |
default | 主内容区 | 页面核心内容(无需写 #default,直接放置子元素即可) |
footer | 底部 | 状态栏、版权信息等 |
复制代码
顶部导航栏
左侧菜单
主内容区域(自动填充剩余空间)
底部版权信息
四个插槽对应四个区域,结构清晰。main 区域无需指定插槽名——直接将内容作为 Container 的子元素即可,它会自动填满 header、aside、footer 之外的所有空间。
pattern 属性是 Container 的核心功能——它定义了四个区域之间的位置关系和显隐状态。TinyVue 内置五种版型,覆盖绝大多数后台管理系统的布局需求:
四区域完整展示——header 位于顶部、aside 位于左侧、main 居中、footer 位于底部。这是最经典的后台布局结构,适用于大多数管理后台。
复制代码
Header
Aside
Main
Footer
参考邮箱客户端的布局:顶部是搜索栏和操作按钮(header),左侧是邮件文件夹(aside),中间是邮件列表(main),底部可能是存储用量提示(footer)。这就是 default 版型的典型应用场景。
同样展示四个区域,但布局方式与 default 有所区别。适合需要不同视觉层次感的管理界面。
复制代码
Header
Aside
Main
Footer
去除 aside,仅保留 header、main、footer 三个区域。适合不需要侧边栏的简洁型应用。
复制代码
Header
Main(没有 aside,空间更宽敞)
Footer
适用场景:官网后台的活动配置页、简单的数据展示页、移动端适配页面等。
带侧边栏的另一种布局风格,aside 的展示方式与 default 或 classic 不同,适合追求更现代视觉效果的应用。
复制代码
Header
Aside
Main
Footer
四区域完整展示,但区域的排列组合具有独特风格。适合复杂的、需要充分展示信息的管理后台。
复制代码
Header
Aside
Main
Footer
复制代码
默认
经典
简约
时尚
传奇
主内容区域
Header
Aside
Footer
默认尺寸不满足需求时,Container 提供三个属性用于精确调节:
| 属性 | 类型 | 默认值 | 控制区域 |
|---|---|---|---|
header-height | number | string | 60 | 头部高度(px) |
footer-height | number | string | 60 | 底部高度(px) |
aside-width | number | string | 200 | 左侧宽度(px) |
复制代码
header-height:80px
aside-width:200px
Main 自动填充剩余空间
footer-height:80px
关键特性在于:main 区域的宽高是自适应的——它会自动计算并填充 header + aside + footer 之外的所有空间。开发者无需手动编写 calc(),无需处理 overflow,Container 组件已全部处理完成。
支持动态绑定,例如:
复制代码
可以实现“菜单折叠”功能——折叠时 aside 缩小到 60px 仅显示图标,展开时恢复到 200px。通过一行属性绑定即可实现,无需修改任何 CSS。
不确定选择哪个版型?以下表格可供参考:
| 版型 | 有 Header | 有 Aside | 有 Footer | 适用场景 |
|---|---|---|---|---|
default | 通用后台管理系统 | |||
classic | 传统企业管理系统 | |||
simple | 简洁应用、无侧边栏场景 | |||
fashion | 现代风格管理界面 | |||
legend | 复杂信息展示型后台 |
Container 负责“宏观布局”——header、aside、main、footer 的大框架。如果需要在 main 区域内部进行精细的栅格布局,可以搭配 TinyVue 的 Layout(栅格布局) 组件一起使用:
复制代码
顶部导航栏
侧边菜单
左面板
中间内容
右面板
版权信息 2026
分工明确:Container 管理“四大域的骨架”,Layout 管理“内容区内部的栅格排版”。两者各司其职,组合起来构成完整的管理后台布局方案。
Container 组件基于 TinyVue 的 CSS 变量体系,可以通过全局 CSS 变量或 scoped 样式来定制外观:
复制代码/* 为 header 添加品牌色背景 */
.tiny-container :deep(.tiny-container__header) {
background-color: var(--tv-color-info-bg-light, #0067d1);
color: var(--tv-color-info-text, #fff);
}/* 为 aside 添加半透明效果 */
.tiny-container :deep(.tiny-container__aside) {
background-color: var(--tv-color-error-bg-light, #0067d180);
}/* 为 main 区域添加淡背景 */
.tiny-container :deep(.tiny-container__main) {
background-color: var(--tv-color-warn-bg-light, #0067d133);
}
CSS 变量的优势在于:配合 ConfigProvider 的 theme 属性,可以实现运行时主题切换——替换一套 CSS 变量值,整个布局的颜色随之变化,无需重新编译。
| 场景 | 是否推荐 |
|---|---|
| 后台管理系统的整体布局 | 强烈推荐 |
| 需要 header、aside、footer 四区域布局 | 必用 |
| 只需简单的上下两栏布局 | 使用 flex 即可 |
| 页面内部的局部布局 | 使用 Layout(栅格布局) |
| 需要动态切换版型风格 | 使用 pattern 加 v-model |
| 需要菜单折叠或展开功能 | 动态绑定 aside-width |
Container 的核心价值可以概括为:将“应用级布局”这一重复性工作,从手写 CSS 转变为选择版型加填充插槽。
开发者不再需要对照设计稿计算像素、编写 display: flex、处理 overflow 问题——Container 组件将这些工作全部封装处理。五种版型覆盖了绝大多数后台场景,三个尺寸属性满足精细化控制需求,main 区域自适应让开发者彻底告别 calc() 的计算过程。
选择一个版型,填入内容,即可完成布局。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述