bootstrap 打开多层模态框的情况下,关闭任意一个模态框,都会导致其余模态框的滚动条消失。
监测html发现,当打开模态框时,会给 body 元素加一个 modal-open 的 class,而在 bootstrap.css 中,有这样一条 css 规则:
.modal-open .modal {overflow-x:hidden; overflow-y:auto}
因为有 overflow-y:auto,所以模态框才可以滚动,而当关闭任何一个模态框时,body 元素的 css 规则 modal-open 会被移除掉,自然 overflow-y:auto 也就没有了,所以模态框的滚动条就消失了。
解决方案是在模态框的 div 元素上加一条 style="overflow: auto",如下:
<div class="modal fade" ... style="overflow: auto">
这样,模态框的滚动就不依赖 body 元素的 css 规则 modal-open 了。
实例
<div class="modal fade" id="myModal2" data-backdrop="static" <span style="color:#ff0000;">style="overflow:scroll"</span> popover-page-id="CS040104"> <div class="modal-dialog modal-1200"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myModalLabel">模态框(Modal)标题222</h4> </div> <div class="modal-body" >在这里添加一些文本</div> <div class="modal-footer"> <button type="button" class="btn btn-success" data-toggle="modal" target="modal" data-target="#myModal3">模态框</button> <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary">提交更改</button> </div> </div> <!-- /.modal-content --> </div> <!-- /.modal --> </div>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。