Vous ne devriez pas avoir de barres de défilement horizontales et verticales à moins que vous ne rendiez le contenu suffisamment volumineux pour en avoir besoin.
Cependant, vous le faites généralement dans IE en raison d'un bogue. Vérifiez dans d'autres navigateurs (Firefox, etc.) pour savoir si ce n'est en fait que IE qui le fait.
IE6-7 (parmi d'autres navigateurs) prend en charge l'extension CSS3 proposée pour définir les barres de défilement indépendamment, que vous pouvez utiliser pour supprimer la barre de défilement verticale:
overflow: auto;
overflow-y: hidden;
Vous devrez peut-être également ajouter pour IE8:
-ms-overflow-y: hidden;
car Microsoft menace de déplacer toutes les propriétés pré-CR-standard dans leur propre boîte «-ms» en mode standard IE8. (Cela aurait été logique s'ils l'avaient toujours fait de cette façon, mais c'est plutôt un inconvénient pour tout le monde maintenant.)
D'un autre côté, il est tout à fait possible qu'IE8 ait corrigé le bogue de toute façon.
J'ai également dû ajouter
white-space: nowrap;
au style, sinon les éléments se termineraient dans la zone vers laquelle nous supprimons la possibilité de faire défiler.la source
white-space: nowrap;
est la clé, sans elle vos éléments s'empileront / s'enrouleront.Cette solution est sans spécification de hauteur / largeur pour le div père , elle sera donc sensible au redimensionnement de la fenêtre et la barre de défilement horizontale la plus utile car juste si nécessaire.
Jetez un oeil à DEMO
la source
Pour montrer les deux:
Masquer l'axe X:
Masquer l'axe Y:
la source
vous pouvez également le faire
overflow: auto
et donner une hauteur et une largeur maximales fixes de cette façon, lorsque le texte ou tout ce qui s'y trouve déborde, il n'affichera que la barre de défilement requisela source
J'utilise les propriétés CSS: 1) "
overflow-x: auto
"; 2) "overflow-y: hidden
"; 3) "white-space: nowrap
";N'oubliez pas de définir une largeur, à la fois pour le conteneur et les composants DIVS internes. La propriété "white-space: nowrap" permet au DIVS interne de ne pas tomber sur une ligne différente.
Compte tenu du code HTML suivant:
J'utilise le CSS suivant pour avoir un défilement horizontal uniquement:
Violon: https://jsfiddle.net/qrjh93x8/ (ne fonctionne pas avec le code ci-dessus)
la source
Utilisez le suivant
la source
la source
CSS3 a la
overflow-x
propriété, mais je ne m'attendrais pas à un grand soutien pour cela. Dans CSS2, tout ce que vous pouvez faire est de définir unescroll
politique générale et de travailler votrewidths
et deheights
ne pas les gâcher.la source
Nous devons définir
overflow: auto
et masquer une barre de défilement que nous n'utilisons pas pour travailler sur le navigateur CSS3 non compatible. Regardez ce débordement CSS; XME.imla source