ant-design/components/layout/demo/responsive.md

89 lines
2.2 KiB
Markdown
Raw Normal View History

---
order: 5
title:
zh-CN: 响应式布局
en-US: Responsive
---
## zh-CN
Layout.Sider 支持响应式布局。
2020-08-14 10:58:58 +08:00
> 说明:配置 `breakpoint` 属性即生效,视窗宽度小于 `breakpoint` 时 Sider 缩小为 `collapsedWidth` 宽度,若将 `collapsedWidth` 设置为 0会出现特殊 trigger。
## en-US
Layout.Sider supports responsive layout.
2020-08-14 10:58:58 +08:00
> Note: You can get a responsive layout by setting `breakpoint`, the Sider will collapse to the width of `collapsedWidth` when window width is below the `breakpoint`. And a special trigger will appear if the `collapsedWidth` is set to 0.
```tsx
import { UploadOutlined, UserOutlined, VideoCameraOutlined } from '@ant-design/icons';
2022-05-23 14:37:16 +08:00
import { Layout, Menu } from 'antd';
import React from 'react';
2018-06-27 15:55:04 +08:00
2019-05-07 14:57:32 +08:00
const { Header, Content, Footer, Sider } = Layout;
const App: React.FC = () => (
<Layout>
2017-10-09 13:23:20 +08:00
<Sider
breakpoint="lg"
collapsedWidth="0"
2019-05-07 14:57:32 +08:00
onBreakpoint={broken => {
console.log(broken);
}}
onCollapse={(collapsed, type) => {
console.log(collapsed, type);
}}
2017-10-09 13:23:20 +08:00
>
<div className="logo" />
<Menu
theme="dark"
mode="inline"
defaultSelectedKeys={['4']}
items={[UserOutlined, VideoCameraOutlined, UploadOutlined, UserOutlined].map(
(icon, index) => ({
key: String(index + 1),
icon: React.createElement(icon),
label: `nav ${index + 1}`,
}),
)}
/>
2017-10-09 13:23:20 +08:00
</Sider>
<Layout>
<Header className="site-layout-sub-header-background" style={{ padding: 0 }} />
2017-10-09 13:23:20 +08:00
<Content style={{ margin: '24px 16px 0' }}>
2019-12-26 12:21:08 +08:00
<div className="site-layout-background" style={{ padding: 24, minHeight: 360 }}>
content
</div>
2017-10-09 13:23:20 +08:00
</Content>
2019-05-07 14:57:32 +08:00
<Footer style={{ textAlign: 'center' }}>Ant Design ©2018 Created by Ant UED</Footer>
2017-10-09 13:23:20 +08:00
</Layout>
</Layout>
2018-11-28 15:00:03 +08:00
);
export default App;
2019-05-07 14:57:32 +08:00
```
2019-05-07 14:57:32 +08:00
```css
#components-layout-demo-responsive .logo {
height: 32px;
margin: 16px;
background: rgba(255, 255, 255, 0.2);
}
2019-12-26 12:21:08 +08:00
.site-layout-sub-header-background {
2019-12-26 12:21:08 +08:00
background: #fff;
}
.site-layout-background {
background: #fff;
}
2019-05-07 14:57:32 +08:00
```
<style>
[data-theme="dark"] .site-layout-sub-header-background {
background: #141414;
}
</style>