mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-03 08:19:37 +08:00
cbcfd38ca7
* build: try to use dumi as doc tool
* docs: migrate demo structure to dumi way
* refactor: use type export & import
* docs: migrate demo previewer to dumi
* docs: create empty layout & components
* docs: apply custom rehype plugin
* docs: create empty extra pages
* docs: Add Banner component
* chore: move theme tsconfig.json
* docs: home page init
* docs: migrate header (#37896)
* docs: header
* docs: update
* docs: home init
* clean up
* test: fix site lint
* chore: tsc ignore demo
* chore: dumi demo migrate script
* chore: cards
* docs: home layout
* docs: Update locale logic
* docs: fix getLink logic
* chore: fix ci (#37899)
* chore: fix ci
* ci: remove check-ts-demo
* ci: preview build
* test: ignore demo.tsx
* chore: update script
* test: update snapshot
* test: update node and image test
* chore: add .surgeignore
* docs: layout providers (#37908)
* docs: add components sidebar (#37923)
* docs: sidebar
* docs: update docs title
* docs: update design doc
* chore: code clean
* docs: handle changelog page
* docs: add title
* docs: add subtitle
* docs: active header nav
* chore: code clean
* docs: overview
* chore: code clean
* docs: update intl (#37918)
* docs: update intl
* chore: code clean
* docs: update favicons
* chore: update testPathIgnorePatterns
* chore: code clean
* chore: code clean
* chore: copy 404.html (#37996)
* docs: Home page theme picker
* chore: Update migrate script
* docs: home page update
* docs: theme editor style
* docs: theme lang
* chore: update migrate.js
* docs: fix demo (#38094)
* chore: update migrate.js
* docs: update md
* docs: update demo
* test: fix snapshot
* chore: move debug to code attr in migrate script
* chore: update md
Co-authored-by: PeachScript <scdzwyxst@gmail.com>
* feat: overview page
* feat: Migrate `404` page (#38118)
* feat: migrate IconSearch component (#37916)
* feat<site/IconSearch>: copy IconDisplay from site to .dumi
* feat<site/IconSearch>: change docs of icon
* feat<site/IconSearch>: tweak
* feat<site/IconSearch>: use useIntl instead of injectIntl
* feat<site/IconSearch>: fix ts type error
* feat<site/IconSearch>: use intl.formatMessage to render text
* docs: Adjust home btn sizw
* docs: Update doc
* feat: v5 site overview page (#38131)
* feat: site
* fix: fix
* feat: v5 site overview page
* fix: fix path
* fix: fix
* fix: fix
* docs: fix margin logic
* feat: v5 site change-log page (#38137)
* feat: v5 site change-log page (#38162)
* docs: site redirect to home pag
* docs: theme picker
* docs: use react-intl from dumi (#38183)
* docs: Theme Picker
* docs: update dumi config
* docs: home back fix
* docs: picker colorful
* docs: locale of it
* docs: update components desc
* docs: site of links
* docs: update components list
* docs: update desc
* feat: Migrate `DemoWrapper` component (#38166)
* feat: Migrate `DemoWrapper` component
* feat: remove invalid comments and add comment for `key` prop
* docs: FloatButton pure panel
* chore: update demo
* chore: update dumi config
* Revert "chore: update demo"
This reverts commit 028265d3ba
.
* chore: test logic adjust to support cnpm modules
* chore: add locale alias
* docs: /index to /
* docs: add locale redirect head script
* chore: adjust compact
* docs: fix missing token
* feat: compact switch
* chore: code clean
* docs: update home
* docs: fix radius token
* docs: hash of it
* chore: adjust home page
* docs: Add background map
* docs: site theme bac logic
* docs: avatar
* docs: update logo color
* docs: home banner
* docs: adjust tour size
* docs: purepanl update
* docs: transfooter
* docs: update banner gif
* docs: content (#38361)
* docs: title & EditButton
* docs: content
* chore: fix toc
* docs: resource page
* docs: transform resource data from hast
* docs: filename & Resource Card
* chore: enable prerender
* chore: remove less
* docs: toc style
* chore: fix lint
* docs: fix Layout page
* docs: fix CP page
* chore: update demos
* docs: workaround for export dynamic html
* chore: enable demo eslint
* docs: table style
* fix: header shadow
* chore: update snapshot
* fix: toc style
* docs: add title
* docs: Adjust site
* feat: helmet
* docs: site css
* fix: description
* feat: toc debug
* docs: update config-provider
* feat: use colorPanel
* fix: colorPanel value
* feat: anchor ink ball style
* feat: apply theme editor
* fix: code block style
* chore: update demo
* chore: fix lint
* chore: code clean
* chore: update snapshot
* feat: ts2js
* chore: description
* docs: site ready for ssr
includes:
- move client render logic to useEffect in site theme
- extract antd cssinjs to a single css file like bisheng
- workaround to support react@18 pipeableStream for emotion
* chore: bump testing lib
* docs: font size of title
* chore: remove react-sortable-hoc
* chore: update snapshot
* chore: update script
Co-authored-by: PeachScript <scdzwyxst@gmail.com>
Co-authored-by: MadCcc <1075746765@qq.com>
Co-authored-by: zqran <uuxnet@gmail.com>
Co-authored-by: TrickyPi <530257315@qq.com>
Co-authored-by: lijianan <574980606@qq.com>
137 lines
7.3 KiB
Markdown
137 lines
7.3 KiB
Markdown
---
|
|
category: Components
|
|
group: Layout
|
|
title: Layout
|
|
cover: https://gw.alipayobjects.com/zos/alicdn/hzEndUVEx/Layout.svg
|
|
---
|
|
|
|
Handling the overall layout of a page.
|
|
|
|
## Specification
|
|
|
|
### Size
|
|
|
|
The first level navigation is left aligned near a logo, and the secondary menu is right aligned.
|
|
|
|
- Top Navigation: the height of the first level navigation `64px`, the second level navigation `48px`.
|
|
- Top Navigation (for landing pages): 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).
|
|
|
|
## Examples
|
|
|
|
<code src="./demo/basic.tsx">Basic Structure</code>
|
|
<code src="./demo/top.tsx">Header-Content-Footer</code>
|
|
<code src="./demo/top-side-2.tsx">Header Sider 2</code>
|
|
<code src="./demo/top-side.tsx">Header-Sider</code>
|
|
<code src="./demo/side.tsx" iframe>Sider</code>
|
|
<code src="./demo/custom-trigger.tsx">Custom trigger</code>
|
|
<code src="./demo/responsive.tsx">Responsive</code>
|
|
<code src="./demo/fixed.tsx" iframe>Fixed Header</code>
|
|
<code src="./demo/fixed-sider.tsx" iframe>Fixed Sider</code>
|
|
<code src="./demo/custom-trigger-debug.tsx" debug>Custom trigger debug</code>
|
|
|
|
## API
|
|
|
|
```jsx
|
|
<Layout>
|
|
<Header>header</Header>
|
|
<Layout>
|
|
<Sider>left sidebar</Sider>
|
|
<Content>main content</Content>
|
|
<Sider>right sidebar</Sider>
|
|
</Layout>
|
|
<Footer>footer</Footer>
|
|
</Layout>
|
|
```
|
|
|
|
### Layout
|
|
|
|
The wrapper.
|
|
|
|
| Property | Description | Type | Default |
|
|
| --------- | --------------------------------------------------------------------------------------------------------- | ------------- | ------- |
|
|
| className | 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 | CSSProperties | - |
|
|
|
|
### Layout.Sider
|
|
|
|
The sidebar.
|
|
|
|
| Property | Description | Type | Default |
|
|
| --------------------- | ------------------------------------------------------------------------------------------- | --------------------------------------------- | ------- |
|
|
| breakpoint | [Breakpoints](/components/grid/#Col) of the responsive layout | `xs` \| `sm` \| `md` \| `lg` \| `xl` \| `xxl` | - |
|
|
| className | Container className | string | - |
|
|
| collapsed | 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 | CSSProperties | - |
|
|
| theme | Color theme of the sidebar | `light` \| `dark` | `dark` |
|
|
| trigger | Specify the customized trigger, set to null to hide the trigger | ReactNode | - |
|
|
| width | Width of the sidebar | number \| string | 200 |
|
|
| zeroWidthTriggerStyle | To customize the styles of the special trigger that appears when `collapsedWidth` is 0 | object | - |
|
|
| onBreakpoint | The callback function, executed when [breakpoints](/components/grid/#API) changed | (broken) => {} | - |
|
|
| onCollapse | The callback function, executed by clicking the trigger or activating the responsive layout | (collapsed, type) => {} | - |
|
|
|
|
#### breakpoint width
|
|
|
|
```js
|
|
{
|
|
xs: '480px',
|
|
sm: '576px',
|
|
md: '768px',
|
|
lg: '992px',
|
|
xl: '1200px',
|
|
xxl: '1600px',
|
|
}
|
|
```
|
|
|
|
<style>
|
|
[data-theme="dark"] .site-layout-background {
|
|
background: #141414;
|
|
}
|
|
[data-theme="dark"] .site-layout-header-background {
|
|
background: #1f1f1f;
|
|
}
|
|
</style>
|