J'ai pensé qu'il serait utile de regrouper les dernières informations sur les barres de défilement, les CSS et la compatibilité des navigateurs.
Support CSS de la barre de défilement
Actuellement, il n'existe pas de définitions de style CSS pour la barre de défilement inter-navigateurs. L'article du W3C Je mentionne à la fin a la déclaration suivante et a été récemment mis à jour (FRI 21 DEC 2012 06:20:49 AM CET) :
Certains navigateurs (IE, Konqueror) prennent en charge les propriétés non standard suivantes 'scrollbar-shadow-color', 'scrollbar-track-color' et autres. Ces propriétés sont illégales : elles ne sont pas définies dans une spécification CSS ni marquées comme propriétaires (en les faisant précéder de "-vendor-"). avec "-vendor-")
Microsoft
Comme d'autres l'ont mentionné, Microsoft prend en charge le style de la barre de défilement ( exemple ) mais, seulement pour IE8 et plus.
Chrome et Safari (webkit)
De même, webkit a maintenant sa propre version :
Firefox (Gecko)
Firefox ne dispose pas de sa propre version des styles de barre de défilement. selon cette réponse de SO de Barre de défilement CSS personnalisée pour Firefox .
Il n'y a pas d'équivalent Gecko à ::-webkit-scrollbar
et des amis.
Vous devrez vous en tenir à jQuery.
Beaucoup de gens aimeraient cette fonctionnalité, vous voyez :
https://bugzilla.mozilla.org/show_bug.cgi?id=77790
Ce rapport demande exactement la même chose que vous : https://bugzilla.mozilla.org/show_bug.cgi?id=547260
Stylisation de la barre de défilement pour tous les navigateurs
Les bibliothèques JavaScript et les plug-ins peuvent fournir une solution multi-navigateurs. Les options sont nombreuses.
La liste pourrait être longue. Votre meilleure chance est de chercher, de faire des recherches et de tester les solutions disponibles. Je suis sûr que vous trouverez quelque chose qui répondra à vos besoins.
Empêcher le style illégal de la barre de défilement
Juste au cas où vous voudriez empêcher le style de la barre de défilement qui n'a pas été correctement préfixé avec "-vendeur", Cet article du W3C fournit des instructions de base. . En gros, vous devrez ajouter les feuilles de style CSS suivantes à une feuille de style utilisateur associée à votre navigateur. Ces définitions remplaceront le style invalide de la barre de défilement sur toutes les pages que vous visitez.
body, html {
scrollbar-face-color: ThreeDFace !important;
scrollbar-shadow-color: ThreeDDarkShadow !important;
scrollbar-highlight-color: ThreeDHighlight !important;
scrollbar-3dlight-color: ThreeDLightShadow !important;
scrollbar-darkshadow-color: ThreeDDarkShadow !important;
scrollbar-track-color: Scrollbar !important;
scrollbar-arrow-color: ButtonText !important;
}
Questions dupliquées ou similaires / Source non liée ci-dessus
Note : Cette réponse contient des informations provenant de diverses sources. Si une source a été utilisée, elle est également mentionnée dans cette réponse.
0 votes
Appliquer
overflow:auto;
juste pour ça<div>
. D'autres détails sur le contexte ?0 votes
Je l'ai fait, mais j'ai besoin d'une barre de défilement personnalisée, euh le design de la barre de défilement.
0 votes
Couleur personnalisée ? Cela n'est pris en charge que par IE, et pas par les autres navigateurs modernes. Il n'est pas possible d'y parvenir en utilisant du pur CSS.
1 votes
La solution JS la plus simple (CSS a pas de support des navigateurs croisés) - yaireo.github.io/fakescroll
0 votes
Voir ma réponse ici : stackoverflow.com/questions/7357203/custom-scrollbars/
0 votes
Si vous utilisez ReactJS, vous pouvez utiliser react-custom-scroll Il fonctionne parfaitement sur tous les navigateurs et permet de modifier le style de défilement pour des zones spécifiques.