--- category: Components type: Layout cols: 1 title: Layout cover: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*4i58ToAcxaYAAAAAAAAAAAAADrJ8AQ/original coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*HdS6Q5vUCDcAAAAAAAAAAAAADrJ8AQ/original --- Handling the overall layout of a page. ## Specification ### Size The first level navigation is inclined left near a logo, and the secondary menu is inclined right. - Top Navigation (almost systems): the height of the first level navigation `64px`, the second level navigation `48px`. - Top Navigation(contents page): the height of the first level navigation `80px`, the second level navigation `56px`. - Calculation formula of a top navigation: `48+8n`. - Calculation formula of an aside navigation: `200+8n`. ### Interaction rules - The first level navigation and the last level navigation should be distinguishable by visualization; - The current item should have the highest priority of visualization; - When the current navigation item is collapsed, the style of the current navigation item is applied to its parent level; - The left side navigation bar has support for both the accordion and expanding styles; you can choose the one that fits your case the best. ## Visualization rules Style of a navigation should conform to its level. - **Emphasis by colorblock** When background color is a deep color, you can use this pattern for the parent level navigation item of the current page. - **The highlight match stick** When background color is a light color, you can use this pattern for the current page navigation item; we recommend using it for the last item of the navigation path. - **Highlighted font** From the visualization aspect, a highlighted font is stronger than colorblock; this pattern is often used for the parent level of the current item. - **Enlarge the size of the font** `12px`, `14px` is a standard font size of navigations, `14px` is used for the first and the second level of the navigation. You can choose an appropriate font size regarding the level of your navigation. ## Component Overview - `Layout`: The layout wrapper, in which `Header` `Sider` `Content` `Footer` or `Layout` itself can be nested, and can be placed in any parent container. - `Header`: The top layout with the default style, in which any element can be nested, and must be placed in `Layout`. - `Sider`: The sidebar with default style and basic functions, in which any element can be nested, and must be placed in `Layout`. - `Content`: The content layout with the default style, in which any element can be nested, and must be placed in `Layout`. - `Footer`: The bottom layout with the default style, in which any element can be nested, and must be placed in `Layout`. > Based on `flex layout`, please pay attention to the [compatibility](http://caniuse.com/#search=flex). ## API ```jsx
header
left sidebar main content right sidebar
``` ### Layout The wrapper. | Property | Description | Type | Default | | --- | --- | --- | --- | | class | container className | string | - | | hasSider | whether contain Sider in children, don't have to assign it normally. Useful in ssr avoid style flickering | boolean | - | | style | to customize the styles | object\|string | - | ### Layout.Sider The sidebar. | Property | Description | Type | Default | Version | | --- | --- | --- | --- | --- | | breakpoint | [breakpoints](/components/grid#api) of the responsive layout | `xs` \| `sm` \| `md` \| `lg` \| `xl` \| `xxl` | - | | | class | container className | string | - | | | collapsed(v-model) | to set the current status | boolean | - | | | collapsedWidth | width of the collapsed sidebar, by setting to `0` a special trigger will appear | number | 80 | | | collapsible | whether can be collapsed | boolean | false | | | defaultCollapsed | to set the initial status | boolean | false | | | reverseArrow | reverse direction of arrow, for a sider that expands from the right | boolean | false | | | style | to customize the styles | object\|string | - | | | theme | color theme of the sidebar | `light` \| `dark` | `dark` | | | trigger | specify the customized trigger, set to null to hide the trigger | string\|slot | - | | | width | width of the sidebar | number\|string | 200 | | | zeroWidthTriggerStyle | to customize the styles of the special trigger that appears when `collapsedWidth` is 0 | object | - | 1.5.0 | ### Events | Events Name | Description | Arguments | | | --- | --- | --- | --- | | breakpoint | the callback function, executed when [breakpoints](/components/grid#api) changed | (broken) => {} | - | | collapse | the callback function, executed by clicking the trigger or activating the responsive layout | (collapsed, type) => {} | | #### breakpoint width ```jsx { xs: '480px', sm: '576px', md: '768px', lg: '992px', xl: '1200px', xxl: '1600px', xxxl: '2000px', } ```