Хорошо, это действительно смущает меня. У меня есть некоторый контент внутри div, например:
<div style="background-color: green; width: 200px; height: 300px;">
Thisisatest.Thisisatest.Thisisatest.Thisisatest.Thisisatest.Thisisatest.
</div>
Однако содержимое переполняет DIV (как и ожидалось), поскольку слово «слишком длинное».
Как заставить браузер «разбить» слово там, где это необходимо, чтобы вместить весь контент внутри?
html
css
line-breaks
Натан Осман
источник
источник
Ответы:
использованиеword-wrap:break-word;
Он даже работает в IE6, что является приятным сюрпризом.word-wrap: break-word
был заменен наoverflow-wrap: break-word;
который работает в каждом современном браузере. IE, будучи мертвым браузером, всегда будет полагаться на устаревший и нестандартныйword-wrap
.Существующее использование
word-wrap
сегодня все еще работает, поскольку это псевдонимoverflow-wrap
согласно спецификации.источник
table-layout: fixed;
к столуword-wrap: break-word
не работает для меня, но,word-break: break-word
как подсказал @rahul ниже, работает.Я не уверен в совместимости браузера
Также вы можете использовать
<wbr>
тегисточник
Это можно добавить к принятому ответу для решения «кросс-браузер».
Источники:
источник
Я просто гуглил ту же проблему и опубликовал свое окончательное решение ЗДЕСЬ . Это актуально и для этого вопроса.
Вы можете легко сделать это с помощью div, присвоив ему стиль
word-wrap: break-word
(и вам может потребоваться установить его ширину).Тем не менее, для таблиц , необходимо также применять:
table-layout: fixed
. Это означает, что ширина столбцов больше не является изменяемой, а определяется на основе ширины столбцов только в первой строке (или с помощью указанных значений ширины). Узнайте больше здесь .Образец кода:
источник
width: 100%;
была единственным способом заставить это работать для меня на FF и Chrome!​
является HTML-сущностью для символа Юникод, называемого пробелом нулевой ширины (ZWSP), который является невидимым символом, который определяет возможность разрыва строки. Точно так же целью дефиса является определение возможности разрыва строки в пределах границы слова.источник
​
имеет более низкий приоритет, чем пробел (т. Е. Если он есть рядом, вместо этого строка будет разбита на пробел).<wbr/>
что я искал эквивалент юникодаОбнаружено, что использование следующего работает во всех основных браузерах (Chrome, IE, Safari iOS / OSX), за исключением Firefox (v50.0.2) при использовании flexbox и использовании
width: auto
.Примечание: вам может потребоваться добавить префиксы поставщика браузера, если вы не используете авторефиксер.
Еще одна вещь, на которую следует обратить внимание - использование текста
для пробелов может привести к разрыву строки в середине слова.источник
CSS
word-wrap:break-word;
, протестировано в FireFox 3.6.3источник
Я решил мою проблему с кодом ниже.
источник
Удалить
white-space: nowrap
, если есть.Воплощать в жизнь:
источник
Пробелы сохраняются браузером. Текст будет переноситься по мере необходимости и разрывов строк
DEMO
источник
От MDN :
Таким образом, вы можете использовать:
Могу ли я использовать ?
источник
Сначала вы должны определить ширину вашего элемента. Например:
так что когда текст достигнет ширины элемента, он будет разбит на строки.
источник
Как упоминалось в ответе @ davidcondrey, есть не только ZWSP, но и SHY,
­ ­
который можно использовать в очень длинных, составленных словах (например, немецком или голландском), которые должны быть разбиты на том месте, где вы хотите, чтобы это было. Невидимый, но он дает дефису момент, когда он необходим, таким образом, сохраняя связь между словом и строкой.Таким образом, слово luchthavenpolitieagent может быть отмечено как
lucht­haven­politie­agent
дающее более длинные части, чем слоги слова.Хотя я никогда не читал ничего официального об этом, эти мягкие дефисы получают более высокий приоритет в браузерах, чем официальные дефисы в отдельных словах конструкции ( если у них вообще есть какое-то расширение).
На практике ни один браузер не способен взломать такое длинное, сложное слово само по себе; на меньших экранах, приводящих к новой строке для него, или в некоторых случаях даже к одной строке слова (например, когда два из этих созданных слов следуют).
К вашему сведению: это голландский для офицера полиции аэропорта
источник
разрыв слова: нормальный, кажется, лучше использовать, чем разрыв слова: разрывное слово, потому что разрывное слово разрывает начальный, такой как EN
источник
Сделай это:
источник
просто попробуйте это в нашем стиле
источник
normal
этоwhite-space
значение по умолчанию . Я думаю, что добавление этого не повлияет на пример в вопросе. Пожалуйста, поправьте меня, если я ошибаюсь.