2012-07-04 51 views

回答

15

这是您将定义强制滚动条唯一的CSS:

html{ 
    overflow-y: scroll; 
} 

滚动条将内容是否比窗口小,被禁用,因此你将不得不使用一些脚本来调整身体至少为1px小于窗口的高度:[?只是禁用滚动不能掩盖它]

$("body").css({ "height" : ($(window).height() - 1) + 'px', "overflow": "hidden" }); 
+0

这确实做得很好。然而,不是使用JS来定义身高,我发现它与CSS一起使用更简洁。随着一点玩耍,我发现了两种选择: 应用位置:固定; html标签,以及overflow-y:scroll;或者,如果你正在使用一个已经为你的身体标记添加了overflow:hidden的框架(我假定大多数人搜索这个问题,因为overflow:hidden;在body上),你可以用100vh 。 当模式关闭时,不要忘记删除这些样式。 – mizurnix

+0

好的。你可以添加你自己的答案,所以我可以放弃它。 – rcdmk

+0

谢谢,但我还没有完成我的解决方案:)我试图将这应用到一个很长的页面,所以大多数时间用户将首先滚动然后打开模式和所有我的选项导致滚动条仍然活跃,或滚动用户顶部,然后停用滚动条。我检查了Facebook的作用,他们使用固定位置,并在内容包装器(不包括正文)上添加顶部:xxxxx像素(基于已经滚动的距离)。当我完成时,我可以添加这个答案 – mizurnix

-4
overflow-y: scroll; 

这应该是你在找什么。

+0

它不会**禁用**滚动条 –

+0

那只是总是显示滚动条,但不禁用滚动,是吗? –

+0

哦,我以为你只是想离开滚动条,即使页面上没有足够的内容。如果内容比浏览器屏幕大,你想如何滚动? – Chad