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スクロールバーはありますか?
ユーザーthirtydot 説明 別の質問では、Chromeで可能な限りFirefoxでスクロールバーをカスタマイズする方法はありません。
また、システムで使用されるデフォルトのスクロールバーはOS自体によって事前定義されているため、Firefoxは実際に古いスタイルのスクロールバーを「強制」する方法はありません(システム環境設定でスクロールバーを変更できることに注意してください)。
つまり、Firefoxがネイティブのカスタムスクロールバーをサポートするまで、 jScrollPane などのJavaScriptプラグインでのみ可能です。
これは解決策ですが、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>