Принудительная видимая полоса прокрутки в 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>
будет ли это работать?
html {
overflow-y: scroll;
}
http://css-tricks.com/snippets/css/force-vertical-scrollbar/