你可以在这里看到问题:http://jsfiddle.net/jxX6A/2/
注意:您必须增加“结果”窗口的宽度,以便切换到“med”或“large”媒体查询css。
我已经基于Bootstrap网站上显示的示例设置页面的HTML:
<div class='container'> <div class='page-header'> <h4>My Heading</h4> </div> <div id='content'> This is some content. </div> <div class='footer'> <p>© 2013,me</p> </div> </div>
我猜这不应该发生,但我不知道我做错了什么。
编辑:这是一个已知的错误,更多(和最新)的信息,请参阅:https://github.com/twbs/bootstrap/issues/9855
解决方法
我找到了一个解决方案,使用100%的CSS,没有JavaScript。
CSS:
html { overflow: hidden; height: 100%; } body { overflow: auto; height: 100%; } /* unset bs3 setting */ .modal-open { overflow: auto; }
这里是一个在线的例子:http://jsbin.com/oHiPIJi/43/
我在Windows 7上测试它:
> FireFox 27.0
> Chrome 32.0.1700.107 m
> IE 11在浏览器模式下8,9,10,Edge(桌面)
> IE 11在浏览器模式8,9,10,Edge(windows phone)
一个新的小问题,我可以找到与IE:
IE有背景(= body)滚动鼠标滚轮,如果没有更多的在前台滚动。
关心位置:固定!
由于此解决方法的性质,您需要额外注意固定元素。
例如,“navbar fixed”的填充需要设置为html而不是body(如何描述in bootstrap doc)。
/* only for fixed navbar: * extra padding stetting not on "body" (like it is described in doc),* but on "html" element * the used value depends on the height of your navbar */ html { padding-top: 50px; padding-bottom: 50px; }
替代与包装
如果你不喜欢设置overflow:hidden on html(有些人不想要这个,但它的工作,是有效的和100%标准兼容),你可以包裹的body的内容在一个额外的div。
比你不需要额外关心固定的元素,你可以像以前一样使用它。
body,html { height: 100%; } .bodywrapper { overflow: auto; height: 100%; } /* unset bs3 setting */ .modal-open { overflow: auto; } /* extra stetting for fixed navbar,see bs3 doc */ body { padding-top: 50px; padding-bottom: 50px; }
这里是一个例子:http://jsbin.com/oHiPIJi/47/
更新:
Bootstrap中的问题:
更新2:FYI
在Bootstrap 3.2.0中,他们为modal.js添加了一个解决方法,它试图处理modal.prototype.show(),Modal.prototype.hide()和Modal.prototype.resize()的每次调用的问题。他们添加了7(!)新的方法。现在约。 20%的代码从modal.js只尝试处理这个问题。