270 votes

Empêcher le saut de ligne de l'élément span

J'ai un <span> que je veux afficher sans saut de ligne. Comment puis-je le faire ?

0 votes

Si vous cherchez à les supprimer, consultez le site stackoverflow.com/questions/425274/

472voto

Daan Points 3325

Mettez ceci dans votre CSS :

white-space:nowrap;

Pour en savoir plus, cliquez ici : http://www.w3.org/wiki/CSS/Properties/white-space

white-space

El white-space déclare comment l'espace blanc à l'intérieur de l'élément est traité.

Valeurs

normal Cette valeur indique aux agents utilisateurs de réduire les séquences d'espace blanc et de rompre les lignes si nécessaire pour remplir les cases de ligne.

pre Cette valeur empêche les agents utilisateurs de regrouper les séquences d'espaces blancs. Les lignes ne sont coupées qu'aux nouvelles lignes dans la source, ou aux occurrences de " \A " dans le contenu généré.

nowrap Cette valeur réduit les espaces blancs comme pour "normal", mais supprime les sauts de ligne dans le texte.

pre-wrap Cette valeur empêche les agents utilisateurs de regrouper les séquences d'espaces blancs. Les lignes sont coupées aux nouvelles lignes dans le source, aux occurrences de " \A " dans le contenu généré, et autant que nécessaire pour remplir les cases de ligne.

pre-line Cette valeur indique aux agents utilisateurs de réduire les séquences d'espace blanc. Les lignes sont coupées aux nouvelles lignes dans la source, aux occurrences de " \A " dans le contenu généré, et autant que nécessaire pour remplir les cases de ligne.

inherit Prend la même valeur spécifiée que la propriété du parent de l'élément.

3 votes

Il est également agréable d'ajouter un peu plus de documentation ici : w3.org/wiki/CSS/Propriétés/espace blanc

27 votes

Dans le cas où vous avez plusieurs span à l'intérieur d'un div et que vous voulez obtenir un span d'une seule ligne mais pas un div d'une seule ligne, vous devez également ajouter au span display : inline-block ;. J'espère que cela aidera quelqu'un.

21voto

Brent Washburne Points 2453

Si vous avez seulement besoin d'empêcher les sauts de ligne sur les caractères d'espacement, vous pouvez utiliser &nbsp; des entités entre les mots :

No&nbsp;line&nbsp;break

au lieu de

<span style="white-space:nowrap">No line break</span>

1voto

wortwart Points 87

white-space: nowrap est la solution correcte mais elle empêchera toute rupture de ligne. Si vous souhaitez uniquement empêcher les sauts de ligne entre deux éléments, cela devient un peu plus compliqué :

<p>
    <span class="text">Some text</span>
    <span class="icon"></span>
</p>

Pour empêcher les ruptures entre les travées mais autoriser les ruptures entre "Some" et "text", on peut procéder comme suit :

p {
    white-space: nowrap;
}

.text {
    white-space: normal;
}

C'est suffisant pour Firefox. Dans Chrome, vous devez en outre remplacer les espaces entre les travées par des caractères de type &nbsp; . (Enlever l'espace blanc ne fonctionne pas).

0voto

Mr. Perfectionist Points 786

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