Quel CSS est nécessaire pour que la barre de défilement verticale du navigateur reste visible lorsqu'un utilisateur visite une page Web (lorsque la page n'a pas assez de contenu pour déclencher l'activation de la barre de défilement)?
179
Réponses:
Cela rend la barre de défilement toujours visible et active uniquement lorsque cela est nécessaire.
Mise à jour: Si ce qui précède ne fonctionne pas, la simple utilisation peut.
la source
overflow-y
? Comme il semble que-moz-scrollbars-vertical
c'est déconseillé en faveur de laoverflow-y
propriété.html
un peu hack-y , notez que vous pouvez utiliser le pseudo-sélecteur structurel:root
au lieu dehtml
. Voir: developer.mozilla.org/en-US/docs/Web/CSS/:rootAssurez-vous que le dépassement est réglé sur «défilement» et non sur «automatique». Cela dit , dans OS X Lion, le débordement réglé sur "scroll" se comporte plus comme auto dans la mesure où les barres de défilement ne s'afficheront toujours que lorsqu'elles sont utilisées. Donc, si l'une des solutions ci-dessus ne semble pas fonctionner, c'est peut-être pourquoi.
Voici ce dont vous aurez besoin pour le réparer:
Vous pouvez le styliser en conséquence si vous n'aimez pas la valeur par défaut.
la source
-webkit-appearance: none;
Les choses ont changé ces dernières années. Les réponses ci-dessus ne sont plus valables dans tous les cas. Apple pousse partout des barres de défilement qui disparaissent . Safari, Chrome et même Firefox sur MacOs (et iOs) affichent uniquement les barres de défilement lors du défilement - je ne sais pas à propos de Windows / IE actuel. Cependant, il existe des moyens non standard de styliser les barres de défilement sur Webkit (IE l'a abandonné il y a longtemps).
la source
Est-ce que c'est ce que tu veux?
Malheureusement, Opera 9.64 semble ignorer cette déclaration CSS lorsqu'elle est appliquée à
HTML
ouBODY
, bien qu'elle fonctionne pour d'autres éléments de niveau bloc commeDIV
.la source
J'utilise cette solution de navigateurs croisés (note: j'utilise toujours la déclaration DOCTYPE en 1ère ligne, je ne sais pas si cela fonctionne en mode quirks, je ne l'ai jamais testé ).
Cela affichera toujours une barre de défilement verticale ACTIVE dans chaque page, la barre de défilement verticale ne pourra faire défiler que quelques pixels.
Lorsque le contenu de la page est plus court que la zone visible du navigateur (port d'affichage), vous verrez toujours la barre de défilement verticale active, et elle ne pourra faire défiler que quelques pixels.
Dans le cas où vous êtes obsédé par la validation CSS (je suis obsédé uniquement par la validation HTML) en utilisant cette solution, votre code CSS validerait également pour le W3C car vous n'utilisez pas d'attributs CSS non standard tels que
-moz-scrollbars-vertical
la source
body { height:101%; }
"recadrera" de plus grandes pages.Au lieu de cela, j'utilise:
la source
J'ai pu faire fonctionner cela en l'ajoutant à la balise body. C'était mieux pour moi car je n'ai rien sur l'élément html.
la source
Une autre approche consiste à définir la largeur de l'élément html sur 100vw. Sur de nombreux navigateurs, sinon sur la plupart, cela annule l'effet des barres de défilement sur la largeur.
la source
Mettre la hauteur à 101% est ma solution au problème. Vos pages ne «feuilleteront plus» lorsque vous basculez entre celles qui dépassent la hauteur de la fenêtre et celles qui ne le font pas.
la source
fonctionne le mieux pour moi
la source
Je fais ça:
Ensuite, je n'ai pas à regarder la vilaine barre de défilement grisée lorsqu'elle n'est pas nécessaire.
la source