我试图创建将在允许用户与网站其余部分进行交互时显示的Bootstrap模式。我到目前为止所做的步骤是:
data-backdrop="false"
添加到模态div以隐藏背景阴影keyboard: false
以防止通过键盘ESC关闭模态自定义CSS类,使对话框显示在右下角:
.modalDialog {
position: fixed;
bottom: 20px;
right: 20px;
margin: 0px;
}
此更改使模型显示为非阻塞...但仍存在页面无法滚动且元素无法点击的问题。我已经在StackOverflow上尝试了大部分答案,但所有答案都已过时(对于4之前的Bootstrap版本)。
那么,有没有办法在Bootstrap 4中支持框架,或者你被迫使用自定义CSS类?
答案 0 :(得分:2)
只需执行以下步骤即可:
1:Bootstrap 4在body标签上添加.modal-open
:
.modal-open {
overflow: hidden;
}
覆盖或添加自定义CSS:
.modal-open {
overflow: auto !important; // you will need important here to override
}
2:Bootstrap 4还会在身体末端添加一个新的div标签。
只需删除它并将其添加到自定义CSS:
.modal-backdrop {
display: none !important;
}
您仍然可以通过点击隐藏背景隐藏模态。告诉我,如果这对你有所帮助。
答案 1 :(得分:0)
我已经解决了这个问题,因为我不再依赖Bootstrap打开模态,而是使用自定义CSS。如果我们将Bootstrap Modal example视为您需要做的起点:
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
然后匹配</div>
id="modalDialog"
添加到正文,结果为<div id="modalDialog" class="modal-dialog">
使用我之前离开的自定义CSS定位:
.modalDialog {
position: fixed;
bottom: 20px;
right: 20px;
margin: 0px;
}
使用Animate.Css之类的内容为模态打开提供介绍。要模拟Bootstrap的功能,您可以使用fadeInDown
,从而产生:<div id="modalDialog" class="modal-dialog animated fadeInDown">
如果您想要关闭动画,只需创建您通过按钮单击调用的自定义JavaScript函数。示例关闭函数:$("#modalDialog").addClass('animated fadeOutDown');
当然,您现在不需要Bootstrap modal()
来电。希望它能解决你的问题...我会看看我是否可以创建JsFiddle以获得更好的演示。