Форсировать видимую полосу прокрутки в Firefox на Mac OS X
Firefox 24 представил поддержку прокрутки Lion. Это покажет полосы прокрутки в стиле 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?
Ответы
Ответ 1
Как пользователь тридцать дней объяснил в другом вопросе, нет возможности настраивать полосы прокрутки в Firefox как возможные в Chrome.
Кроме того, нет никакого способа "заставить" Firefox визуализировать панель прокрутки старого стиля, поскольку панель прокрутки по умолчанию, используемая в системе , предопределена самой ОС (обратите внимание, что вы можете изменить, какую полосу прокрутки вы хотите в Системных настройках).
Другими словами, пока Firefox не поддерживает собственные пользовательские полосы прокрутки, это возможно только с плагинами JavaScript, такими как jScrollPane и т.п.
Ответ 2
Здесь решение, но вы должны использовать Javascript. В основном он запускает цикл, который заставляет браузер показывать полосы прокрутки.
Используйте этот CSS, чтобы убедиться, что ваш div установлен для отображения полос прокрутки:
.mydiv{ overflow-y:auto; }
Затем присоедините этот script к вашей странице (для этого требуется 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>
Ответ 3
Как насчет overflow: -moz-scrollbars-vertical
?
Ответ 4
Будет ли это работать?
html {
overflow-y: scroll;
}
http://css-tricks.com/snippets/css/force-vertical-scrollbar/