627 votes

Comment désactiver le retour à la ligne en HTML ?

Je me sens stupide de ne pas avoir trouvé la solution, mais comment désactiver le retour à la ligne ? le css word-wrap peut être forcée avec break-word mais ne peuvent être forcés off (ne peut être laissé seul avec normal valeur).

Comment forcer le retour à la ligne off ?

1012voto

Jon Points 194296

Vous devez utiliser les CSS white-space attribut.

En particulier, white-space: nowrap y white-space: pre sont les valeurs les plus couramment utilisées. La première semble être celle que vous recherchez.

32voto

LIUFA Points 3642

Ajout des valeurs spécifiques à webkit manquantes dans le tableau ci-dessus

white-space: -moz-pre-wrap; /* Firefox */
white-space: -o-pre-wrap; /* Opera */
white-space: pre-wrap; /* Chrome */
word-wrap: break-word; /* IE */

14voto

zod Points 193

Je me demande pourquoi vous trouvez comme solution le "white-space" avec "nowrap" ou "pre", cela ne fait pas le comportement correct : vous forcez votre texte dans une seule ligne ! Le texte devrait briser les lignes, mais pas les mots comme par défaut. Cela est dû à certains attributs css : word-wrap, overflow-wrap, word-break, et les traits d'union. Vous pouvez donc avoir l'un ou l'autre :

word-break: break-all;
word-wrap: break-word;
overflow-wrap: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;

La solution est donc de les supprimer, ou de les remplacer par "unset" ou "normal" :

word-break: unset;
word-wrap: unset;
overflow-wrap: unset;
-webkit-hyphens: unset;
-moz-hyphens: unset;
-ms-hyphens: unset;
hyphens: unset;

UPDATE : j'ai également fourni une preuve avec JSfiddle : https://jsfiddle.net/azozp8rr/

1 votes

Je comprends pourquoi vous voulez casser les mots en général. Mais supposer qu'il n'y a pas de raison valable de désactiver le retournement de mot n'a pas de sens pour moi. J'ai rapidement essayé de tester votre solution "unset", et il y avait toujours l'habillage des mots. Si vous pensez que cela devrait fonctionner, veuillez fournir un jsfiddle de démonstration.

0 votes

Je ne sais pas pourquoi ma réponse a disparu. Encore une fois, vous pouvez forcer le nowrap, généralement les gens le font pour les boutons. Mais je pense que c'est une mauvaise conception pour des raisons de réactivité, car les textes pourraient sortir du conteneur. Quoi qu'il en soit, la question portait sur word-wrap:break-word, forcé sur, et vous demandiez comment le forcer hors. J'ai donc fourni le code pour le faire. Le whitespace:nowrap est une autre chose, et il ne supprime pas les mots cassés, il supprime les lignes entières cassées. J'ai également fourni une comparaison du code avec JSfiddle : https://jsfiddle.net/azozp8rr/

14voto

Gabriel Petersson Points 2009

white-space: nowrap; : Ne cassera jamais le texte, gardera les autres valeurs par défaut.

white-space: pre; : Ne cassera jamais le texte, gardera les espaces multiples les uns après les autres comme des espaces multiples, cassera si cela est explicitement écrit (appuyer sur entrée dans le html, etc.).

1 votes

Faux. pre fait l'enveloppement tout en conservant des espaces multiples.

5voto

Ryan Charmley Points 508

Cela a fonctionné pour moi afin d'empêcher les pauses de travail stupides de se produire dans les zones de texte de Chrome.

word-break: keep-all;

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