2020-08-13 15:18:26 +08:00
## 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.
2021-01-06 14:12:22 +08:00
De lo contrario, de forma horizontal.
2020-08-13 15:18:26 +08:00
`<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
```html
2021-01-06 14:12:22 +08:00
< div class = "common-layout" >
< el-container >
< el-header > Cabecera< / el-header >
< el-main > Principal< / el-main >
< / el-container >
2020-08-13 15:18:26 +08:00
2021-01-06 14:12:22 +08:00
< el-container >
< el-header > Cabecera< / el-header >
< el-main > Principal< / el-main >
< el-footer > Pie de página< / el-footer >
< / el-container >
2020-08-13 15:18:26 +08:00
< el-container >
< el-aside width = "200px" > Barra lateral< / el-aside >
< el-main > Principal< / el-main >
< / el-container >
< el-container >
2021-01-06 14:12:22 +08:00
< el-header > Cabecera< / el-header >
2020-08-13 15:18:26 +08:00
< el-container >
2021-01-06 14:12:22 +08:00
< el-aside width = "200px" > Barra lateral< / el-aside >
2020-08-13 15:18:26 +08:00
< el-main > Principal< / el-main >
< / el-container >
< / el-container >
< el-container >
< el-header > Cabecera< / el-header >
2021-01-06 14:12:22 +08:00
< 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 >
2020-08-13 15:18:26 +08:00
< / el-container >
< el-container >
2021-01-06 14:12:22 +08:00
< el-aside width = "200px" > Barra lateral< / el-aside >
< el-container >
< el-header > Cabecera< / el-header >
< el-main > Principal< / el-main >
< / el-container >
2020-08-13 15:18:26 +08:00
< / el-container >
2021-01-06 14:12:22 +08:00
< / div >
2020-08-13 15:18:26 +08:00
< style >
.el-header, .el-footer {
background-color: #B3C0D1 ;
color: #333 ;
text-align: center;
line-height: 60px;
}
2021-01-06 14:12:22 +08:00
2020-08-13 15:18:26 +08:00
.el-aside {
background-color: #D3DCE6 ;
color: #333 ;
text-align: center;
line-height: 200px;
}
2021-01-06 14:12:22 +08:00
2020-08-13 15:18:26 +08:00
.el-main {
background-color: #E9EEF3 ;
color: #333 ;
text-align: center;
line-height: 160px;
}
2021-01-06 14:12:22 +08:00
2020-08-13 15:18:26 +08:00
body > .el-container {
margin-bottom: 40px;
}
2021-01-06 14:12:22 +08:00
2020-08-13 15:18:26 +08:00
.el-container:nth-child(5) .el-aside,
.el-container:nth-child(6) .el-aside {
line-height: 260px;
}
2021-01-06 14:12:22 +08:00
2020-08-13 15:18:26 +08:00
.el-container:nth-child(7) .el-aside {
line-height: 320px;
}
< / style >
```
:::
### Ejemplo
:::demo
```html
< 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" >
2020-11-26 23:12:06 +08:00
< template #title >< i class = "el-icon-message" ></ i > Navigator One</ template >
2020-08-13 15:18:26 +08:00
< el-menu-item-group >
2020-11-26 23:12:06 +08:00
< template #title > Group 1</ template >
2020-08-13 15:18:26 +08:00
< 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" >
2020-11-26 23:12:06 +08:00
< template #title > Option4</ template >
2020-08-13 15:18:26 +08:00
< el-menu-item index = "1-4-1" > Option 4-1< / el-menu-item >
< / el-submenu >
< / el-submenu >
< el-submenu index = "2" >
2020-11-26 23:12:06 +08:00
< template #title >< i class = "el-icon-menu" ></ i > Navigator Two</ template >
2020-08-13 15:18:26 +08:00
< el-menu-item-group >
2020-11-26 23:12:06 +08:00
< template #title > Group 1</ template >
2020-08-13 15:18:26 +08:00
< 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" >
2020-11-26 23:12:06 +08:00
< template #title > Option 4</ template >
2020-08-13 15:18:26 +08:00
< el-menu-item index = "2-4-1" > Option 4-1< / el-menu-item >
< / el-submenu >
< / el-submenu >
< el-submenu index = "3" >
2020-11-26 23:12:06 +08:00
< template #title >< i class = "el-icon-setting" ></ i > Navigator Three</ template >
2020-08-13 15:18:26 +08:00
< el-menu-item-group >
2020-11-26 23:12:06 +08:00
< template #title > Group 1</ template >
2020-08-13 15:18:26 +08:00
< 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" >
2020-11-26 23:12:06 +08:00
< template #title > Option 4</ template >
2020-08-13 15:18:26 +08:00
< el-menu-item index = "3-4-1" > Option 4-1< / el-menu-item >
< / el-submenu >
< / el-submenu >
< / el-menu >
< / el-aside >
2021-01-06 14:12:22 +08:00
2020-08-13 15:18:26 +08:00
< el-container >
< el-header style = "text-align: right; font-size: 12px" >
< el-dropdown >
< i class = "el-icon-setting" style = "margin-right: 15px" > < / i >
2020-11-26 23:12:06 +08:00
< template #dropdown >
< el-dropdown-menu >
< el-dropdown-item > View< / el-dropdown-item >
< el-dropdown-item > Add< / el-dropdown-item >
< el-dropdown-item > Delete< / el-dropdown-item >
< / el-dropdown-menu >
< / template >
2020-08-13 15:18:26 +08:00
< / el-dropdown >
< span > Tom< / span >
< / el-header >
2021-01-06 14:12:22 +08:00
2020-08-13 15:18:26 +08:00
< 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;
}
2021-01-06 14:12:22 +08:00
2020-08-13 15:18:26 +08:00
.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 >
2021-06-08 13:31:14 +08:00
<!--
< setup >
import { defineComponent, ref } from 'vue';
export default defineComponent({
setup() {
const item = {
date: '2016-05-02',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
};
const tableData = ref(Array(20).fill(item));
return {
tableData,
};
},
});
< / setup >
-->
2020-08-13 15:18:26 +08:00
```
:::
### 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 |
| -------- | ------------------------ | ------ | ----------------- | ----------- |
2021-01-06 14:12:22 +08:00
| height | altura del pie de página | string | — | 60px |