319 votes

HTML+CSS : Comment forcer le contenu des div à rester sur une seule ligne ?

J'ai un long texte à l'intérieur d'un div avec défini width :

HTML :

<div>Stack Overflow is the BEST !!!</div>

CSS :

div {
    border: 1px solid black;
    width: 70px;
}

Comment puis-je forcer la chaîne à rester sur une seule ligne (c'est-à-dire à être coupée au milieu de "Overflow") ?

J'ai essayé d'utiliser overflow: hidden mais ça n'a pas aidé.

24 votes

white-space: nowrap mettez ça dans votre balise de style.

620voto

Bazzz Points 9487

Essayez ça :

div {
    border: 1px solid black;
    width: 70px;
    overflow: hidden;
    white-space: nowrap;
}

94voto

anothershrubery Points 6104

Utilisez white-space:nowrap et overflow:hidden

http://jsfiddle.net/NXchy/8/

44 votes

Ajouter text-overflow:ellipsis; au dessus pour une meilleure vue.

0 votes

Est-ce possible sans css ?

63voto

Rob Agar Points 5793

Dans votre css, utilisez white-space:nowrap;

13voto

Marc Audet Points 14651

Tout le monde a sauté sur l'occasion ! !! Moi aussi j'ai fait un violon :

http://jsfiddle.net/audetwebdesign/kh4aR/

RobAgar gagne un point pour avoir souligné white-space:nowrap d'abord.

Deux choses ici, vous avez besoin overflow: hidden si vous ne voulez pas voir les caractères supplémentaires empiéter sur votre mise en page.

Aussi, comme mentionné, vous pourriez utiliser white-space: pre (voir EnderMB) en gardant à l'esprit que pre ne réduira pas les espaces blancs alors que white-space: nowrap volonté.

5voto

marflar Points 13293

Ajoutez ceci à votre div

white-space: nowrap;

http://jsfiddle.net/NXchy/1/

1 votes

Vous pouvez ajouter : overflow : auto pour afficher une barre de défilement horizontale

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