Antd 在布局中固定 Header
Antd Fixed Header In Layout
对于 ant.design,应用 Affix to Header in a Layout 的正确方法是什么,以便它在滚动期间保持固定在顶部?下面是一个示例布局:
import { Layout } from 'antd';
const { Header, Footer, Sider, Content } = Layout;
ReactDOM.render(
<div>
<Layout>
<Header>Header</Header>
<Layout>
<Sider>Sider</Sider>
<Content>Content</Content>
</Layout>
<Footer>Footer</Footer>
</Layout>
</div>
, mountNode);
您只需要一些 CSS 即可实现此目的
#header {
position:fixed;
width:100%;
left:0;
top:0;
right: 0;
z-index: 1000;
}
@benjycui 的 anwser 中的演示现在发布在 ant.design 站点:https://ant.design/components/layout/#components-layout-demo-fixed
我知道我迟到了,但我发现自己处于同样的境地。
作为 cannin says in his :
"...what I was hoping for was a fixed header when there is a toggleable
sidebar"
我的解决方案是在 Content
中嵌套一个新的 Layout
,将 Sider
放在 parent 布局中,将 Header
放在 child,然后应用到 child 已经指出的解决方案:https://ant.design/components/layout/#components-layout-demo-fixed
ReactDOM.render(
<div>
<Layout>
<Sider>Sider</Sider> <- ***
<Content>
<Layout>
<Header>Header</Header> <- ***
<Content>Content</Content>
</Layout>
</Content>
<Footer>Footer</Footer>
</Layout>
</div>
, mountNode);
此外,我不得不使用 position: sticky
而不是使用 position: fixed
,否则顶部栏的右侧变为 off-limits:
<Header style={{ position: 'sticky', zIndex: 1, width: '100%' }}>
您可以只向外部布局添加固定高度并设置可滚动内容,如下所示:
ReactDOM.render(
<div>
<Layout style={{ height: '100vh' }}>
<Header>Header</Header>
<Layout>
<Sider>Sider</Sider>
<Content style={{ overflow: 'scroll' }}>Content</Content>
</Layout>
<Footer>Footer</Footer>
</Layout>
</div>,
mountNode);
对于 ant.design,应用 Affix to Header in a Layout 的正确方法是什么,以便它在滚动期间保持固定在顶部?下面是一个示例布局:
import { Layout } from 'antd';
const { Header, Footer, Sider, Content } = Layout;
ReactDOM.render(
<div>
<Layout>
<Header>Header</Header>
<Layout>
<Sider>Sider</Sider>
<Content>Content</Content>
</Layout>
<Footer>Footer</Footer>
</Layout>
</div>
, mountNode);
您只需要一些 CSS 即可实现此目的
#header {
position:fixed;
width:100%;
left:0;
top:0;
right: 0;
z-index: 1000;
}
@benjycui 的 anwser 中的演示现在发布在 ant.design 站点:https://ant.design/components/layout/#components-layout-demo-fixed
我知道我迟到了,但我发现自己处于同样的境地。
作为 cannin says in his
"...what I was hoping for was a fixed header when there is a toggleable sidebar"
我的解决方案是在 Content
中嵌套一个新的 Layout
,将 Sider
放在 parent 布局中,将 Header
放在 child,然后应用到 child 已经指出的解决方案:https://ant.design/components/layout/#components-layout-demo-fixed
ReactDOM.render(
<div>
<Layout>
<Sider>Sider</Sider> <- ***
<Content>
<Layout>
<Header>Header</Header> <- ***
<Content>Content</Content>
</Layout>
</Content>
<Footer>Footer</Footer>
</Layout>
</div>
, mountNode);
此外,我不得不使用 position: sticky
而不是使用 position: fixed
,否则顶部栏的右侧变为 off-limits:
<Header style={{ position: 'sticky', zIndex: 1, width: '100%' }}>
您可以只向外部布局添加固定高度并设置可滚动内容,如下所示:
ReactDOM.render(
<div>
<Layout style={{ height: '100vh' }}>
<Header>Header</Header>
<Layout>
<Sider>Sider</Sider>
<Content style={{ overflow: 'scroll' }}>Content</Content>
</Layout>
<Footer>Footer</Footer>
</Layout>
</div>,
mountNode);