Je viens de découvrir comment cacher la barre de défilement dans Google Chrome, je l'ai fait avec ce code:
::-webkit-scrollbar { display: none; }
Le seul problème est que cela ne fonctionne pas sur Firefox. J'ai essayé plusieurs façons de faire, mais cela ne fonctionne toujours pas.
J'ai pu cacher la barre de défilement, mais toujours pouvoir faire défiler avec la molette de la souris avec cette solution:
html {overflow: -moz-scrollbars-none;}
Téléchargez le plugin https://github.com/brandonaaron/jquery-mousewheel et incluez cette fonction:
jQuery('html,body').bind('mousewheel', function(event) {
event.preventDefault();
var scrollTop = this.scrollTop;
this.scrollTop = (scrollTop + ((event.deltaY * event.deltaFactor) * -1));
//console.log(event.deltaY, event.deltaFactor, event.originalEvent.deltaMode, event.originalEvent.wheelDelta);
});
Pour utiliser le kit Web:
::-webkit-scrollbar {
width: 0px; /* remove scrollbar space */
background: transparent; /* optional: just make scrollbar invisible */
}
Pour Mozilla Firefox, utilisez le code suivant:
@-moz-document url-prefix() {
html,body{overflow: hidden !important;}
}
et si le défilement ne fonctionne pas, ajoutez
element {overflow-y: scroll;}
à un élément spécifique
Vous pouvez utiliser la règle scrollbar-width
. Vous pouvez scrollbar-width: none;
pour masquer la barre de défilement dans Firefox et pouvoir toujours faire défiler librement.
body {
scrollbar-width: none
}
Ceci est en quelque sorte une solution générique:
<div class="outer">
<div class="inner">
Some content...
</div>
</div>
<style>
.outer {
overflow: hidden;
}
.inner {
margin-right: -16px;
overflow-y: scroll;
overflow-x: hidden;
}
</style>
La barre de défilement est masquée par la div parente.
Cela nécessite que vous utilisiez overflow: caché dans le div parent.
Pour masquer la barre de défilement sur Chrome, Firefox et IE, vous pouvez utiliser ceci:
.hide-scrollbar
{
overflow: auto;
-ms-overflow-style: none; /* IE 11 */
scrollbar-width: none; /* Firefox 64 */
}
Essayez d'utiliser ceci:
overflow-y: -moz-hidden-unscrollable;
Ajouter une règle css sur le corps:
body{
overflow: hidden;
}
Dans certains cas particuliers (l'élément est tout à fait à droite de l'écran ou son débordement parent est masqué), cela peut constituer une solution:
@-moz-document url-prefix() {
.element {
margin-right: -15px;
}
}