43

Firefox 24 引入了 Lion 滚动条支持。这将在 Mac OS X 上显示 Lion 样式的滚动条。请参阅:https ://wiki.mozilla.org/Lion_Scrollbars/Triage

这给我带来了一个问题:默认情况下,div 上的滚动条现在是隐藏的。有时我想强制一个可见的滚动条。

对于 WebKit 有一个很好的解决方案(在https://davidwalsh.name/osx-overflow提到):

::-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);
}

有人知道我如何在 Mac OS X 上的 Firefox 24(及更高版本)中强制显示滚动条吗?

是否有任何与 webkit 滚动条匹配的插入式 javascript 滚动条?

4

4 回答 4

27

正如用户 30dot在另一个问题中解释的那样,在 Firefox 中无法像在 Chrome 中那样自定义滚动条。

此外,没有办法真正“强制”Firefox 呈现旧式滚动条,因为系统中使用的默认滚动条是由操作系统本身预定义的 (请注意,您可以在系统偏好设置中修改您想要的滚动条)

换句话说,在 Firefox 支持原生自定义滚动条之前,只有jScrollPane等 JavaScript 插件才有可能。

于 2013-08-19T16:06:11.233 回答
3

这是一个解决方案,但您必须使用 Javascript。基本上它运行一个循环,强制浏览器显示滚动条。

使用此 CSS 确保您的 div 设置为显示滚动条:

.mydiv{ overflow-y:auto; }

然后将此脚本附加到您的页面(这需要 JQuery)。

<script type="text/JavaScript">
var sc;
jQuery(document).ready(function(){
    //constantly update the scroll position:
    sc=setInterval(scrollDown,200);

    //optional:stop the updating if it gets a click
    jQuery('.mydiv').mousedown(function(e){
        clearInterval(sc);            
    });
});
function scrollDown(){
    //find every div with class "mydiv" and apply the fix
    for(i=0;i<=jQuery('.mydiv').length;i++){
        try{
            var g=jQuery('.mydiv')[i];
            g.scrollTop+=1;
            g.scrollTop-=1;
        } catch(e){
            //eliminates errors when no scroll is needed
        }
    }
}
</script>
于 2015-03-03T15:46:45.847 回答
0

对此的实际答案是转到系统偏好设置 - 常规选项卡 - 并将“显示滚动条”设置为“始终”。

于 2021-08-09T23:45:16.487 回答
0

怎么样overflow: -moz-scrollbars-vertical

于 2016-09-28T07:49:52.730 回答