关于bootstrap模态框 modal.js 单击模态框按钮效果出来之后为什么要阻止滚动条?

http://v3.bootcss.com/javascript/#modals
单位要求 单击模态框的时候滚动条不能消失。因为滚动条消失的时候,内容页面会变宽。
我画了个

看到我画的红圈了没,内容的滚动条没有了!
弹出模态框效果的时候。 我希望模态框效果情况下 滚动条必须存在。
请问是怎么做?

图片描述

第二个是腾讯的。人家弹出模态框效果的时候,滚动条还在!
我真郁闷 不知道怎么下手?
我希望能跟腾讯一样

我自己解决答案是
我是给这个模态框的样式 设置成overflow:inherit 。然后在bootstrap.js文件里找到padding-left 去掉就好了

阅读 11.4k
4 个回答

严格讲下面的这个不是modalbox,只是个popover.正经的modal box ui交互定义就是要拦截其它所有交互

模态框弹出事件中,会给body添加一个class:

.modal-open {
  overflow: hidden;
}

自己把它重定义一下就行overflow: auto !important;,或者模态框弹出的时候写js

$('#identifier').on('show.bs.modal', function () {
  // 执行一些动作...
})

但是模态框自己也会有一个滚动条(看模态框的内容高度),得禁用了,设置一个最大高度,然后给模态框的内容加一个滚动条

也许你可以试试这个bootstrap3-dialog.
这个是基于 bootstrap 的一个模态框插件。比原生的更强大。主要是原生就像1L说的一样算是一个popover的效果。使用这个插件可以不依赖与dom。

自己写个插件就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏