【发布时间】:2021-05-06 20:10:49
【问题描述】:
我是编程新手。在这里,我有一个 antd modal,我一直在尝试找到一种方法让它全屏显示。我希望模态在打开时是全屏的,它不应该有任何边距或填充。比如我在代码中添加了width={1000},但是modal的左右两边还有一些边距。
那么如何使模态框占据整个屏幕而没有任何边距和填充?
【问题讨论】:
标签: javascript html css reactjs antd
我是编程新手。在这里,我有一个 antd modal,我一直在尝试找到一种方法让它全屏显示。我希望模态在打开时是全屏的,它不应该有任何边距或填充。比如我在代码中添加了width={1000},但是modal的左右两边还有一些边距。
那么如何使模态框占据整个屏幕而没有任何边距和填充?
【问题讨论】:
标签: javascript html css reactjs antd
width 和centered 属性的固定值:index.js
import React, { useState } from 'react';
import ReactDOM from 'react-dom';
import 'antd/dist/antd.css';
import './index.css';
import { Modal, Button } from 'antd';
const App = () => {
const [visible, setVisible] = useState(false);
return (
<>
<Button type="primary" onClick={() => setVisible(true)}>
Open Modal of 1000px width
</Button>
<Modal
title="Modal 1000px width"
// This was removed
// centered
visible={visible}
onOk={() => setVisible(false)}
onCancel={() => setVisible(false)}
// This was removed
// width={'1000'}
>
<p>some contents...</p>
<p>some contents...</p>
<p>some contents...</p>
</Modal>
</>
);
};
ReactDOM.render(<App />, document.getElementById('container'));
index.css
.ant-modal, .ant-modal-content {
height: 100vh;
width: 100vw;
margin: 0;
top: 0;
}
.ant-modal-body {
height: calc(100vh - 110px);
}
【讨论】:
max-width和margin的modal.ant-modal {
max-width: unset;
margin: unset;
}
before 的ant-modal-centered 类的伪元素中取消设置content
.ant-modal-centered::before {
content: unset;
}
工作Demo
【讨论】: