Как отключить перенос слов в HTML?

519

Я чувствую себя глупо из-за того, что не могу понять это, но как мне отключить перенос слов? word-wrapсвойство css может быть включено с помощью break-word, но не может быть принудительно отключено (может быть оставлено только со normalзначением).

Как заставить слово завернуть от ?

Александр Берд
источник

Ответы:

853

Вам нужно использовать white-spaceатрибут CSS .

В частности, white-space: nowrapи white-space: preявляются наиболее часто используемыми значениями. Первый, кажется, то, что вы после.

Джон
источник
25

Добавлены определенные значения webkit, пропущенные сверху

white-space: -moz-pre-wrap; /* Firefox */
white-space: -o-pre-wrap; /* Opera */
white-space: pre-wrap; /* Chrome */
word-wrap: break-word; /* IE */
Матас Вайткявичюс
источник
3

Интересно, почему вы находите в качестве решения «пробел» с помощью «nowrap» или «pre», это не делает правильное поведение: вы заставляете свой текст в одну строку! Текст должен разбивать строки, но не разбивать слова по умолчанию. Это вызвано некоторыми атрибутами CSS: перенос по словам, перенос по переполнению, перенос по словам и дефисы. Так что вы можете иметь:

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

Поэтому решение состоит в том, чтобы удалить их или переопределить их с помощью «unset» или «normal»:

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

ОБНОВЛЕНИЕ: я также предоставляю доказательства с JSfiddle: https://jsfiddle.net/azozp8rr/

Зод
источник
1
Я понимаю, почему вы хотите разбить на слова в целом. Но предполагать, что нет веских причин для переноса слов, не имеет смысла для меня. Я быстро попытался протестировать ваше «неустановленное» решение, и оно все еще содержало перенос слов. Если вы считаете, что это должно работать, предоставьте jsfiddle, демонстрирующее его работу.
Александр Берд
Я не знаю, почему мой ответ исчез. Опять же, вы можете принудительно сделать это, обычно люди делают это за кнопки. Но я думаю, что это плохой дизайн из-за отзывчивости, потому что тексты могут выходить за пределы контейнера. Как бы то ни было, вопрос задавался по поводу переноса слов: разрыв слов, принудительное включение, а вы спрашивали, как отключить. Итак, я предоставил код для этого. Пробел: nowrap - это еще одна вещь, и он не удаляет ломаные слова, он удаляет ломаные целые строки. Также я предоставляю сравнение кода с JSfiddle: https://jsfiddle.net/azozp8rr/
zod
2

Это помогло мне избежать глупых перерывов в работе Chrome textareas

word-break: keep-all;
Райан Чармли
источник