el-container详解

970 阅读1分钟

当然,Element Plus 提供了一个灵活且强大的布局容器组件 el-container,用于构建响应式布局。el-container 可以包含多个子组件,如 el-headerel-asideel-mainel-footer,这些子组件分别表示页面的不同部分。

Container 布局容器

基本用法

el-container 是一个布局容器组件,可以嵌套使用不同的子组件来构建复杂的布局。

<template>
  <el-container>
    <el-header>Header</el-header>
    <el-main>Main Content</el-main>
    <el-footer>Footer</el-footer>
  </el-container>
</template>

<script setup></script>

<style scoped>
.el-header, .el-footer {
  background-color: #B3C0D1;
  color: #333;
  text-align: center;
  line-height: 60px;
}

.el-main {
  background-color: #E9EEF3;
  color: #333;
  text-align: center;
  line-height: 160px;
}
</style>

子组件

el-header

  • 描述: 页头区域,通常用于放置导航栏等。

  • 示例:

    <template>
      <el-container>
        <el-header>Header</el-header>
        <el-main>Main Content</el-main>
      </el-container>
    </template>
    

el-aside

  • 描述: 侧边栏区域,通常用于放置菜单等。

  • 示例:

    <template>
      <el-container>
        <el-aside width="200px">Aside</el-aside>
        <el-main>Main Content</el-main>
      </el-container>
    </template>
    

el-main

  • 描述: 主要内容区域,通常用于放置主要内容。

  • 示例:

    <template>
      <el-container>
        <el-header>Header</el-header>
        <el-main>Main Content</el-main>
        <el-footer>Footer</el-footer>
      </el-container>
    </template>
    

el-footer

  • 描述: 页脚区域,通常用于放置版权信息等。

  • 示例:

    <template>
      <el-container>
        <el-header>Header</el-header>
        <el-main>Main Content</el-main>
        <el-footer>Footer</el-footer>
      </el-container>
    </template>
    

嵌套使用

el-container 可以嵌套使用,以构建更复杂的布局。

<template>
  <el-container>
    <el-header>Header</el-header>
    <el-container>
      <el-aside width="200px">Aside</el-aside>
      <el-container>
        <el-main>Main Content</el-main>
        <el-footer>Footer</el-footer>
      </el-container>
    </el-container>
  </el-container>
</template>

<script setup></script>

<style scoped>
.el-header, .el-footer {
  background-color: #B3C0D1;
  color: #333;
  text-align: center;
  line-height: 60px;
}

.el-aside {
  background-color: #D3DCE6;
  color: #333;
  text-align: center;
  line-height: 200px;
}

.el-main {
  background-color: #E9EEF3;
  color: #333;
  text-align: center;
  line-height: 160px;
}
</style>

属性 (Props)

el-container 和其子组件支持以下属性:

direction

  • 描述: 布局方向,可选值为 horizontal 和 vertical

  • 默认值horizontal

  • 示例:

    <template>
      <el-container direction="vertical">
        <el-header>Header</el-header>
        <el-main>Main Content</el-main>
        <el-footer>Footer</el-footer>
      </el-container>
    </template>
    

width

  • 描述: 仅适用于 el-aside,设置侧边栏的宽度。

  • 示例:

    <template>
      <el-container>
        <el-aside width="200px">Aside</el-aside>
        <el-main>Main Content</el-main>
      </el-container>
    </template>