Принудительная видимая полоса прокрутки в Firefox на Mac OS X

Firefox 24 представил поддержку Lion scrollbar. Это покажет полосы прокрутки в стиле Lion на Mac OS X. см.: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);
}

кто-нибудь знает, как я могу заставить видимую полосу прокрутки в Firefox 24 (и выше) на Mac OS X?

есть ли выпадающие полосы прокрутки javascript, которые соответствуют полосам прокрутки webkit?

4 ответов


Как пользователь thirtydot объяснил в другом вопросе нет способа настроить полосы прокрутки в Firefox, как это возможно в Chrome.

кроме того, нет никакого способа фактически "заставить" Firefox отображать полосу прокрутки старого стиля, так как полоса прокрутки по умолчанию используется в системе предопределено самой ОС (обратите внимание, что вы можете изменить, какую полосу прокрутки вы хотите в Системных настройках).

другими словами, пока Firefox не поддерживает родной пользовательские полосы прокрутки, это возможно только с плагинами JavaScript, такими как jScrollPane и подобные.


вот решение, но вы должны использовать 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>

как о overflow: -moz-scrollbars-vertical?


будет ли это работать?

html {
    overflow-y: scroll;
}

http://css-tricks.com/snippets/css/force-vertical-scrollbar/