目的: 当content组件高度不足一屏时,中间部分会塌陷,所以加minHeight让他不足一屏时自动占满一屏。
restHeight 是除了content的部分,比如header + footer的高度值。所以
minHeight: document.documentElement.clientHeight - restHeight
具体代码:
import React from 'react';
import { ConfigProvider, Layout } from 'antd';
import { PageBasicPropsModel } from '@/interfaces/common';
import zh_CN from 'antd/lib/locale/zh_CN';
import CustomFooter from './components/CustomFooter';
import CustomHeader from './components/CustomHeader';
import { restHeight } from '@/pages/constant';
const { Content } = Layout;
const BasicLayout: React.FC<PageBasicPropsModel> = props => {
return (
<ConfigProvider locale={zh_CN}>
<Layout>
<CustomHeader />
<Content
style={{
background: 'white',
minHeight: document.documentElement.clientHeight - restHeight,
}}
>
{props.children}
</Content>
<CustomFooter />
</Layout>
</ConfigProvider>
);
};
export default BasicLayout;
然后content具有了minHeight只需要对page内的组件的最外层dev加一个min-height: inherit;
如:
最终达到所有页面高度不够是自动撑满全局的体验