使主滚动条始终可见

当用户访问网页时(当页面没有足够的内容来触发滚动条的激活时),使浏览器的垂直滚动条保持可见状态所需的CSS是什么?

html { overflow: -moz-scrollbars-vertical; overflow-y: scroll; } 

这使得滚动条总是可见的,只有在需要时才会激活。

更新:如果以上不起作用,只是使用这可能。

 html { overflow-y:scroll; } 
 html { overflow-y: scroll; } 

那是你要的吗?

不幸的是,Opera 9.64应用于HTMLBODY似乎忽略了这个CSS声明,尽pipe它适用于像DIV这样的其他块级元素。

事情在过去几年发生了变化。 上述答案在所有情况下都不再有效。 苹果到处都在推销消失的滚动条 。 Safari浏览器,Chrome浏览器,甚至MacOs(和iOs)上的Firefox只显示实际滚动时的滚动条 – 我不知道当前的Windows / IE。 然而,在Webkit上有不规范的方式来设置滚动条 (很久以前,IE就放弃了)。

确保溢出设置为“滚动”而不是“自动”。 有了这个说法 ,在OS X Lion中,设置为“scroll”的溢出行为更像auto,滚动条在使用时仍然只会显示。 所以,如果任何上述解决scheme似乎没有工作,这可能是为什么。

这是你需要解决的问题:

 ::-webkit-scrollbar { -webkit-appearance: none; width: 7px; } ::-webkit-scrollbar-thumb { border-radius: 4px; background-color: rgba(0, 0, 0, .5); -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5); } 

如果您不喜欢默认设置,则可以相应地设置它。

 html {height: 101%;} 

我使用这个跨浏览器解决scheme (注:我总是在第一行使用DOCTYPE声明,我不知道它是否在quirksmode工作,从来没有testing过 )。

这将始终在每个页面中显示ACTIVE垂直滚动条 ,垂直滚动条将只能滚动几个像素。

当页面内容比浏览器的可见区域(视图端口) 更短时,仍然会看到垂直滚动条处于活动状态,并且只能滚动几个像素。

如果您使用此解决scheme痴迷于CSSvalidation(我只是使用HTMLvalidation),您的CSS代码也将validationW3C,因为您不使用非标准的CSS属性,如-moz-scrollbars-vertical

body { height:101%; } body { height:101%; }会“裁剪”更大的页面。

相反,我使用:

 body { min-height:101%; } 

另一种方法是将HTML元素的宽度设置为100vw。 在很多(如果不是大多数浏览器的话),这会消除滚动条对宽度的影响。

 html { width: 100vw; } 

尝试使身高:101%。 这在我看来是最好的解决scheme。

 body {height:101%; } 

我能够通过将其添加到身体标记来获得这个工作。 对我来说更好,因为我没有任何关于html元素的东西。

 body { overflow-y: scroll; } 

将此代码添加到您的CSS样式表中:

 html {overflow-y: scroll;} 

这就是它的全部!

将高度设置为101%是我解决问题的方法。 在页面之间切换时,页面将不再“轻弹”,而不是在视口高度之间切换。