如何在反应模态中将关闭按钮放在模态 window 之外?
How can I place close button outside of modal window in react-modal?
我已经从 react-modal 导入了 Modal(React Player 仅用于嵌入视频),我的代码现在看起来是这样的:
<Modal
isOpen={modalIsOpen}
onRequestClose={closeModal}
style={customStyles}
contentLabel='Example Modal'
>
<button onClick={closeModal} className={css.button}>close</button>
<ReactPlayer
url='https://vimeo.com/49384334'
playing='true'
controls='true'
volume={0}
/>
</Modal>
所以我尝试为这样的按钮编写一些样式,但是按钮不能离开它的父标签。
.button {
display: block;
float: right;
position: relative;
top: -10px;
right: -10px;
z-index: 1002;
}
是否有任何我应该在模式中覆盖的样式 div?
确保正确设置样式。像这样的基本实现应该可以工作
const modalStyles = {
position: "relative"
};
const buttonStyles = {
position: "absolute",
top: "10px",
right: "10px"
};
<Modal
isOpen={this.state.isOpen}
onRequestClose={this.handleOpenModal}
style={modalStyles}
contentLabel="Example Modal"
>
<button onClick={this.handleOpenModal} style={buttonStyles}>
close
</button>
modal content
</Modal>
默认情况下,来自 react-modal 的 Modal 组件有 溢出:auto。这就是为什么您的按钮不能移出模式的原因。要解决此问题,您需要将 overflow: auto 更改为 overflow: visible(请参见下面的代码)
const modalStyles = {
content : {
top : '50%',
left : '50%',
right : 'auto',
bottom : 'auto',
marginRight : '-50%',
transform : 'translate(-50%, -50%)',
overflow : 'visibile'
}
};
const buttonStyles = {
position: "absolute",
top: "10px",
right: "10px"
};
<Modal
isOpen={this.state.isOpen}
onRequestClose={this.handleOpenModal}
style={modalStyles}
contentLabel="Example Modal"
>
<button onClick={this.handleOpenModal} style={buttonStyles}>
close
</button>
modal content
</Modal>
谢谢。
我已经从 react-modal 导入了 Modal(React Player 仅用于嵌入视频),我的代码现在看起来是这样的:
<Modal
isOpen={modalIsOpen}
onRequestClose={closeModal}
style={customStyles}
contentLabel='Example Modal'
>
<button onClick={closeModal} className={css.button}>close</button>
<ReactPlayer
url='https://vimeo.com/49384334'
playing='true'
controls='true'
volume={0}
/>
</Modal>
所以我尝试为这样的按钮编写一些样式,但是按钮不能离开它的父标签。
.button {
display: block;
float: right;
position: relative;
top: -10px;
right: -10px;
z-index: 1002;
}
是否有任何我应该在模式中覆盖的样式 div?
确保正确设置样式。像这样的基本实现应该可以工作
const modalStyles = {
position: "relative"
};
const buttonStyles = {
position: "absolute",
top: "10px",
right: "10px"
};
<Modal
isOpen={this.state.isOpen}
onRequestClose={this.handleOpenModal}
style={modalStyles}
contentLabel="Example Modal"
>
<button onClick={this.handleOpenModal} style={buttonStyles}>
close
</button>
modal content
</Modal>
默认情况下,来自 react-modal 的 Modal 组件有 溢出:auto。这就是为什么您的按钮不能移出模式的原因。要解决此问题,您需要将 overflow: auto 更改为 overflow: visible(请参见下面的代码)
const modalStyles = {
content : {
top : '50%',
left : '50%',
right : 'auto',
bottom : 'auto',
marginRight : '-50%',
transform : 'translate(-50%, -50%)',
overflow : 'visibile'
}
};
const buttonStyles = {
position: "absolute",
top: "10px",
right: "10px"
};
<Modal
isOpen={this.state.isOpen}
onRequestClose={this.handleOpenModal}
style={modalStyles}
contentLabel="Example Modal"
>
<button onClick={this.handleOpenModal} style={buttonStyles}>
close
</button>
modal content
</Modal>
谢谢。