283 votes

Masquer la barre de défilement html horizontale mais pas verticale

J'ai une zone de texte HTML dont la largeur est fixe, mais la hauteur variable. J'aimerais définir overflow:scroll et être capable d'afficher une barre de défilement verticale, mais pas horizontale. Je ne suis pas en mesure d'utiliser overflow:auto en raison d'autres éléments spécifiques à ma situation.

Je sais qu'il n'existe aucun moyen d'utiliser CSS2 pour afficher uniquement les barres de défilement verticales et non horizontales. Y a-t-il quelque chose que je puisse faire avec JavaScript pour masquer la barre de défilement horizontale ?

3 votes

Non, en utilisant CSS2 et overflow:scroll; il n'y a aucun moyen d'afficher une barre et pas l'autre. C'est inhérent à overflow:scroll ; javascript ne peut faire que ce que CSS permet. Cependant, je pense que vous puede utiliser overflow:auto, vous ne savez juste pas comment. Pouvez-vous préciser les "autres éléments spécifiques à votre situation" ?

585voto

Nick Craver Points 313913

Vous pouvez utiliser le css comme ceci :

overflow-y: scroll;
overflow-x: hidden;

3 votes

Je vois ça comme du CSS3, et ça ne fonctionne pas dans Firefox quand je le teste. Je constate également que cette propriété n'est disponible que pour IE depuis longtemps.

0 votes

@wiliamjones - Cela fonctionne dans firefox... avez-vous une page d'exemple ? Il se peut qu'il y ait une autre raison pour laquelle la mise en page ne fonctionne pas.

0 votes

@william - Voici un exemple complet de fonctionnement, à tester dans firefox :) jsfiddle.net/qpZ8k

31voto

Kevin Points 8488

Utilisez les CSS. C'est plus facile et plus rapide que le javascript.

overflow-x: hidden;
overflow-y: scroll;

22voto

rpalzona Points 1

Désactivez complètement la barre de défilement horizontale en ajoutant ce code.

body{
  overflow-x: hidden;
  overflow-y: scroll;
}

9voto

Jitendra Vyas Points 28378

Utilisation de wrap=virtual dans vos boîtes de formulaire HTML permet de supprimer la barre de défilement horizontale au bas de la boîte :

  <textarea name= "enquiry" rows="4" cols="30" wrap="virtual"></textarea>

Voir exemple ici : http://jsbin.com/opube3/2 (Testé sur FF et IE)

2voto

Tirupati Balan Points 414
<div style="width:100px;height:100px;overflow-x:hidden;overflow-y:auto;background-color:#000000">

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X