element-ui/examples/docs/es/container.md
2021-06-07 11:56:04 +08:00

7.4 KiB

Contenedor

Componentes contenedores para iniciar una estructura básica de un sitio:

<el-container>: Contenedor. Cuando este elemento se anida con un <el-header> o <el-footer>, todos los elementos secundarios se organizan verticalmente. De lo contrario, de forma horizontal.

<el-header>: Contenedor para cabeceras.

<el-aside>: Contenedor para secciones laterales (generalmente, una barra lateral).

<el-main>: Contenedor para sección principal.

<el-footer>: Contenedor para pie de página.

:::tip Estos componentes utilizan flex para el diseño, así que asegúrese que el navegador lo soporta. Además, los elementos directos de <el-container> tienen que ser uno o más de los últimos cuatro componentes. Y el elemento padre de los últimos cuatro componentes debe ser un <el-container>. :::

Diseños comunes

:::demo

<el-container>
  <el-header>Cabecera</el-header>
  <el-main>Principal</el-main>
</el-container>

<el-container>
  <el-header>Cabecera</el-header>
  <el-main>Principal</el-main>
  <el-footer>Pie de página</el-footer>
</el-container>

<el-container>
  <el-aside width="200px">Barra lateral</el-aside>
  <el-main>Principal</el-main>
</el-container>

<el-container>
  <el-header>Cabecera</el-header>
  <el-container>
    <el-aside width="200px">Barra lateral</el-aside>
    <el-main>Principal</el-main>
  </el-container>
</el-container>

<el-container>
  <el-header>Cabecera</el-header>
  <el-container>
    <el-aside width="200px">Barra lateral</el-aside>
    <el-container>
      <el-main>Principal</el-main>
      <el-footer>Pie de página</el-footer>
    </el-container>
  </el-container>
</el-container>

<el-container>
  <el-aside width="200px">Barra lateral</el-aside>
  <el-container>
    <el-header>Cabecera</el-header>
    <el-main>Principal</el-main>
  </el-container>
</el-container>

<el-container>
  <el-aside width="200px">Barra lateral</el-aside>
  <el-container>
    <el-header>Cabecera</el-header>
    <el-main>Principal</el-main>
    <el-footer>Pie de página</el-footer>
  </el-container>
</el-container>

<style>
  .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;
  }
  
  body > .el-container {
    margin-bottom: 40px;
  }
  
  .el-container:nth-child(5) .el-aside,
  .el-container:nth-child(6) .el-aside {
    line-height: 260px;
  }
  
  .el-container:nth-child(7) .el-aside {
    line-height: 320px;
  }
</style>

:::

Ejemplo

:::demo

<el-container style="height: 500px; border: 1px solid #eee">
  <el-aside width="200px" style="background-color: rgb(238, 241, 246)">
    <el-menu :default-openeds="['1', '3']">
      <el-submenu index="1">
        <template slot="title"><i class="el-icon-message"></i>Navigator One</template>
        <el-menu-item-group>
          <template slot="title">Group 1</template>
          <el-menu-item index="1-1">Option 1</el-menu-item>
          <el-menu-item index="1-2">Option 2</el-menu-item>
        </el-menu-item-group>
        <el-menu-item-group title="Group 2">
          <el-menu-item index="1-3">Option 3</el-menu-item>
        </el-menu-item-group>
        <el-submenu index="1-4">
          <template slot="title">Option4</template>
          <el-menu-item index="1-4-1">Option 4-1</el-menu-item>
        </el-submenu>
      </el-submenu>
      <el-submenu index="2">
        <template slot="title"><i class="el-icon-menu"></i>Navigator Two</template>
        <el-menu-item-group>
          <template slot="title">Group 1</template>
          <el-menu-item index="2-1">Option 1</el-menu-item>
          <el-menu-item index="2-2">Option 2</el-menu-item>
        </el-menu-item-group>
        <el-menu-item-group title="Group 2">
          <el-menu-item index="2-3">Option 3</el-menu-item>
        </el-menu-item-group>
        <el-submenu index="2-4">
          <template slot="title">Option 4</template>
          <el-menu-item index="2-4-1">Option 4-1</el-menu-item>
        </el-submenu>
      </el-submenu>
      <el-submenu index="3">
        <template slot="title"><i class="el-icon-setting"></i>Navigator Three</template>
        <el-menu-item-group>
          <template slot="title">Group 1</template>
          <el-menu-item index="3-1">Option 1</el-menu-item>
          <el-menu-item index="3-2">Option 2</el-menu-item>
        </el-menu-item-group>
        <el-menu-item-group title="Group 2">
          <el-menu-item index="3-3">Option 3</el-menu-item>
        </el-menu-item-group>
        <el-submenu index="3-4">
          <template slot="title">Option 4</template>
          <el-menu-item index="3-4-1">Option 4-1</el-menu-item>
        </el-submenu>
      </el-submenu>
    </el-menu>
  </el-aside>
  
  <el-container>
    <el-header style="text-align: right; font-size: 12px">
      <el-dropdown>
        <i class="el-icon-setting" style="margin-right: 15px"></i>
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item>View</el-dropdown-item>
          <el-dropdown-item>Add</el-dropdown-item>
          <el-dropdown-item>Delete</el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
      <span>Tom</span>
    </el-header>
    
    <el-main>
      <el-table :data="tableData">
        <el-table-column prop="date" label="Date" width="140">
        </el-table-column>
        <el-table-column prop="name" label="Name" width="120">
        </el-table-column>
        <el-table-column prop="address" label="Address">
        </el-table-column>
      </el-table>
    </el-main>
  </el-container>
</el-container>

<style>
  .el-header {
    background-color: #B3C0D1;
    color: #333;
    line-height: 60px;
  }
  
  .el-aside {
    color: #333;
  }
</style>

<script>
  export default {
    data() {
      const item = {
        date: '2016-05-02',
        name: 'Tom',
        address: 'No. 189, Grove St, Los Angeles'
      };
      return {
        tableData: Array(20).fill(item)
      }
    }
  };
</script>

:::

Atributos de contenedor

Atributo Descripción Tipo Valores aceptados Por defecto
direction dirección de diseño para elementos secundarios string horizontal / vertical vertical cuando el elemento está anidado con el-header, de lo contrario, horizontal

Atributos de cabecera

Atributo Descripción Tipo Valores aceptados Por defecto
height altura de la cabecera string 60px

Atributos de barra lateral

Atributo Descripción Tipo Valores aceptados Por defecto
width ancho de la barra lateral string 300px

Atributos de pie de página

Atributo Descripción Tipo Valores aceptados Por defecto
height altura del pie de página string 60px