Force visible scrollbar dans Firefox sur Mac OS X
Firefox 24 introduit Lion support scrollbar. Cela montrera des barres de défilement en style Lion sur Mac OS X. voir: https://wiki.mozilla.org/Lion_Scrollbars/Triage
cela pose un problème pour moi: une barre de défilement sur un div est maintenant cachée par défaut. Parfois je veux forcer une barre de défilement visible.
pour WebKit il y a une bonne solution (mentionnée à 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);
}
est-ce que quelqu'un sait comment je peux forcer un scrollbar visible dans Firefox 24 (et plus) sur Mac OS X?
y a-t-il des barres de défilement javascript qui correspondent aux barres de défilement webkit?
4 réponses
comme utilisateur thirtydot expliqué dans une autre question, il n'y a aucun moyen de personnaliser les barres de défilement dans Firefox que son possible dans Chrome.
en outre, il n'y a aucun moyen de réellement" forcer "Firefox rendre le scrollbar vieux-style puisque le scrollbar par défaut utilisé dans le système est prédéfini par L'OS lui-même (notez que vous pouvez modifier quel scrollbar vous voulez dans les préférences du système) .
en d'autres termes, Jusqu'à ce que Firefox supporte les scrollbars personnalisés natifs, il n'est possible qu'avec des plugins JavaScript tels que jScrollPane et similaire.
Voici une solution mais vous devez utiliser Javascript. Fondamentalement, il exécute une boucle qui force le navigateur à afficher les barres de défilement.
utilisez ce CSS pour vous assurer que votre div est paramétré pour afficher les barres de défilement:
.mydiv{ overflow-y:auto; }
puis attachez ce script à votre page (cela nécessite 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>
est-ce que ça marcherait?
html {
overflow-y: scroll;
}
http://css-tricks.com/snippets/css/force-vertical-scrollbar /