2017-02-27 23:39:16 +08:00
|
|
|
---
|
|
|
|
order: 2
|
|
|
|
title:
|
|
|
|
zh-CN: 顶部-侧边布局-通栏
|
|
|
|
en-US: Header Sider 2
|
|
|
|
---
|
|
|
|
|
|
|
|
## zh-CN
|
|
|
|
|
|
|
|
同样拥有顶部导航及侧边栏,区别是两边未留边距,多用于应用型的网站。
|
|
|
|
|
|
|
|
## en-US
|
|
|
|
|
|
|
|
Both the top navigation and the sidebar, commonly used in application site.
|
|
|
|
|
2019-05-07 14:57:32 +08:00
|
|
|
```jsx
|
2019-08-13 14:07:17 +08:00
|
|
|
import { Layout, Menu, Breadcrumb } from 'antd';
|
2019-11-28 12:34:33 +08:00
|
|
|
import { UserOutlined, LaptopOutlined, NotificationOutlined } from '@ant-design/icons';
|
2018-06-27 15:55:04 +08:00
|
|
|
|
2017-02-27 23:39:16 +08:00
|
|
|
const { SubMenu } = Menu;
|
|
|
|
const { Header, Content, Sider } = Layout;
|
|
|
|
|
|
|
|
ReactDOM.render(
|
|
|
|
<Layout>
|
|
|
|
<Header className="header">
|
|
|
|
<div className="logo" />
|
|
|
|
<Menu
|
|
|
|
theme="dark"
|
|
|
|
mode="horizontal"
|
|
|
|
defaultSelectedKeys={['2']}
|
|
|
|
style={{ lineHeight: '64px' }}
|
|
|
|
>
|
|
|
|
<Menu.Item key="1">nav 1</Menu.Item>
|
|
|
|
<Menu.Item key="2">nav 2</Menu.Item>
|
|
|
|
<Menu.Item key="3">nav 3</Menu.Item>
|
|
|
|
</Menu>
|
|
|
|
</Header>
|
|
|
|
<Layout>
|
|
|
|
<Sider width={200} style={{ background: '#fff' }}>
|
|
|
|
<Menu
|
|
|
|
mode="inline"
|
|
|
|
defaultSelectedKeys={['1']}
|
|
|
|
defaultOpenKeys={['sub1']}
|
2017-06-15 15:39:55 +08:00
|
|
|
style={{ height: '100%', borderRight: 0 }}
|
2017-02-27 23:39:16 +08:00
|
|
|
>
|
2019-05-07 14:57:32 +08:00
|
|
|
<SubMenu
|
|
|
|
key="sub1"
|
|
|
|
title={
|
|
|
|
<span>
|
2019-11-28 12:34:33 +08:00
|
|
|
<UserOutlined />
|
2019-05-07 14:57:32 +08:00
|
|
|
subnav 1
|
|
|
|
</span>
|
|
|
|
}
|
|
|
|
>
|
2017-02-27 23:39:16 +08:00
|
|
|
<Menu.Item key="1">option1</Menu.Item>
|
|
|
|
<Menu.Item key="2">option2</Menu.Item>
|
|
|
|
<Menu.Item key="3">option3</Menu.Item>
|
|
|
|
<Menu.Item key="4">option4</Menu.Item>
|
|
|
|
</SubMenu>
|
2019-05-07 14:57:32 +08:00
|
|
|
<SubMenu
|
|
|
|
key="sub2"
|
|
|
|
title={
|
|
|
|
<span>
|
2019-11-28 12:34:33 +08:00
|
|
|
<LaptopOutlined />
|
2019-05-07 14:57:32 +08:00
|
|
|
subnav 2
|
|
|
|
</span>
|
|
|
|
}
|
|
|
|
>
|
2017-02-27 23:39:16 +08:00
|
|
|
<Menu.Item key="5">option5</Menu.Item>
|
|
|
|
<Menu.Item key="6">option6</Menu.Item>
|
|
|
|
<Menu.Item key="7">option7</Menu.Item>
|
|
|
|
<Menu.Item key="8">option8</Menu.Item>
|
|
|
|
</SubMenu>
|
2019-05-07 14:57:32 +08:00
|
|
|
<SubMenu
|
|
|
|
key="sub3"
|
|
|
|
title={
|
|
|
|
<span>
|
2019-11-28 12:34:33 +08:00
|
|
|
<NotificationOutlined />
|
2019-05-07 14:57:32 +08:00
|
|
|
subnav 3
|
|
|
|
</span>
|
|
|
|
}
|
|
|
|
>
|
2017-02-27 23:39:16 +08:00
|
|
|
<Menu.Item key="9">option9</Menu.Item>
|
|
|
|
<Menu.Item key="10">option10</Menu.Item>
|
|
|
|
<Menu.Item key="11">option11</Menu.Item>
|
|
|
|
<Menu.Item key="12">option12</Menu.Item>
|
|
|
|
</SubMenu>
|
|
|
|
</Menu>
|
|
|
|
</Sider>
|
|
|
|
<Layout style={{ padding: '0 24px 24px' }}>
|
2017-10-16 20:39:53 +08:00
|
|
|
<Breadcrumb style={{ margin: '16px 0' }}>
|
2017-02-27 23:39:16 +08:00
|
|
|
<Breadcrumb.Item>Home</Breadcrumb.Item>
|
|
|
|
<Breadcrumb.Item>List</Breadcrumb.Item>
|
|
|
|
<Breadcrumb.Item>App</Breadcrumb.Item>
|
|
|
|
</Breadcrumb>
|
2019-05-07 14:57:32 +08:00
|
|
|
<Content
|
|
|
|
style={{
|
|
|
|
background: '#fff',
|
|
|
|
padding: 24,
|
|
|
|
margin: 0,
|
|
|
|
minHeight: 280,
|
|
|
|
}}
|
2018-11-28 15:00:03 +08:00
|
|
|
>
|
2017-02-27 23:39:16 +08:00
|
|
|
Content
|
|
|
|
</Content>
|
|
|
|
</Layout>
|
|
|
|
</Layout>
|
2018-06-27 15:55:04 +08:00
|
|
|
</Layout>,
|
2019-05-07 14:57:32 +08:00
|
|
|
mountNode,
|
2018-11-28 15:00:03 +08:00
|
|
|
);
|
2019-05-07 14:57:32 +08:00
|
|
|
```
|
2017-02-27 23:39:16 +08:00
|
|
|
|
2019-05-07 14:57:32 +08:00
|
|
|
```css
|
2017-02-27 23:39:16 +08:00
|
|
|
#components-layout-demo-top-side-2 .logo {
|
|
|
|
width: 120px;
|
|
|
|
height: 31px;
|
2019-05-07 14:57:32 +08:00
|
|
|
background: rgba(255, 255, 255, 0.2);
|
2017-02-27 23:39:16 +08:00
|
|
|
margin: 16px 28px 16px 0;
|
|
|
|
float: left;
|
|
|
|
}
|
2019-05-07 14:57:32 +08:00
|
|
|
```
|