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


当前回答

在过去的几年里,情况发生了变化。以上答案不再适用于所有情况。苹果正在到处推广消失滚动条。Safari, Chrome甚至是MacOs(和iOs)上的Firefox在实际滚动时只显示滚动条-我不知道当前的Windows/IE。然而,Webkit上有一些非标准的方法来设置滚动条的样式(IE很久以前就放弃了)。

其他回答

把高度设置为101%是我解决这个问题的办法。 当你的页面在超过视口高度和不超过视口高度的页面之间切换时,你的页面将不再“轻弹”。

另一种方法是将html元素的宽度设置为100vw。在许多(如果不是大多数)浏览器上,这抵消了滚动条对宽度的影响。

html { width: 100vw; }

我是这样做的:

html {
    margin-left: calc(100vw - 100%);
    margin-right: 0;
}

这样,我就不必在不需要滚动条时查看丑陋的灰色滚动条了。

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

这使得滚动条始终可见,只在需要时才活动。

更新:如果以上不工作,那么只是使用这个可能。

html {
    overflow-y:scroll;
}
body { 
    min-height: 101vh; 
} 

这对我来说是最好的