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

ユーザー Thiydotが別の質問で説明したように、Chrome で可能なように Firefox でスクロールバーをカスタマイズする方法はありません。

また、システムで使用されるデフォルトのスクロールバーは OS 自体によって事前に定義されて いるため、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

どうoverflow: -moz-scrollbars-verticalですか?

于 2016-09-28T07:49:52.730 に答える