текст вытекает из div

Когда текст без пробелов и больше, чем размер элемента div 200px, он вытекает Ширина определяется как 200px Я поместил свой код здесь http://jsfiddle.net/madhu131313/UJ6zG/ Вы можете увидеть отредактированные изображения ниже: Я хочу, чтобы текст перешел к следующая строка

введите здесь описание изображения

введите здесь описание изображения


person madhu131313    schedule 30.08.2012    source источник


Ответы (10)


Это связано с тем, что у вас есть одно длинное слово без пробелов. Вы можете использовать свойство word-wrap, чтобы текст разорвался:

#w74 { word-wrap: break-word; }

Он также имеет довольно хорошую поддержку браузера. См. документацию об этом здесь.

person chipcullen    schedule 30.08.2012
comment
у меня это не сработало вот другой пример. - person Deepak Vaishnav; 03.07.2018
comment
это круто, решил некоторые проблемы с отзывчивой страницей - person yussan; 06.10.2018
comment
word-break: break-all Это спасет меня - person Pedro Silva; 28.07.2021
comment
Это не работает для шаблонов электронной почты. Вместо этого вы должны использовать word-break:break-all . - person Berni; 04.08.2021

Использовать

white-space: pre-line;

Это предотвратит вытекание текста из div. Это сломает текст, когда он достигнет конца div.

person Nixon    schedule 30.12.2014

Вы должны использовать overflow:hidden; или scroll

http://jsfiddle.net/UJ6zG/1/

или с php вы можете сократить длинные слова...

person Community    schedule 30.08.2012
comment
Потрясающе. извините, я хочу, чтобы он перешел на следующую строку, например, в чат gmail или чат facebook :) - person madhu131313; 30.08.2012
comment
Тогда вы можете использовать версию @chipcullen с переносом слов! демо: jsfiddle.net/UJ6zG/3 - person ; 30.08.2012

Вам нужно применить следующее свойство CSS к контейнерному блоку (div):

overflow-wrap: break-word;

Согласно спецификациям (источник CSS | MDN) :

CSS-свойство overflow-wrap указывает, должен ли браузер вставлять разрывы строк внутри слов, чтобы текст не переполнял поле содержимого.

Со значением, установленным на break-word

Чтобы предотвратить переполнение, обычно неразрывные слова могут разрываться в произвольных точках, если в строке нет других допустимых точек разрыва.

Стоит отметить...

Первоначально это свойство было нестандартным расширением Microsoft без префикса под названием word-wrap и было реализовано большинством браузеров с таким же именем. С тех пор он был переименован в overflow-wrap, где word-wrap является псевдонимом.


Если вы заботитесь о поддержке устаревших браузеров, стоит указать оба:

word-wrap    : break-word;
overflow-wrap: break-word;

Бывший. IE9 не распознает overflow-wrap, но отлично работает с word-wrap

person Paolo    schedule 14.01.2018

используйте overflow:auto, это даст скроллер для вашего текста в пределах div :).

person Rahul Razdan    schedule 30.08.2012

Если это поможет. Добавьте в селектор следующее свойство со значением:

white-space: pre-wrap;
person Martin Lloyd Jose    schedule 06.04.2018

Это помогло мне:

{word-break: break-all; }

person Addo    schedule 20.12.2019
comment
большое спасибо, это было единственное, что сработало для меня (используя стилизованные компоненты в React) - person mlz7; 28.02.2020
comment
да, это сработало для меня, так как слово будет продолжаться до следующей строки - person Om Fuke; 16.02.2021

этот трюк работает для меня:

{
  word-break: break-all;
  white-space: pre-wrap;
}

пробел
разрыв слова

person Muhammed Moussa    schedule 04.04.2021

я недавно столкнулся с этим. Я использовал: display:block;

person arn-arn    schedule 30.03.2016

Если это всего лишь один экземпляр, который нужно обернуть в 2 или 3 строки, я бы просто использовал несколько <wbr> в строке. Он будет обрабатывать их так же, как <br>, но не будет вставлять разрыв строки, если в этом нет необходимости.

<div id="w74" class="dpinfo">
adsfadsadsads<wbr>fadsadsadsfadsadsa<wbr>dsfadsadsadsfadsadsads<wbr>fadsadsadsfadsadsadsfa<wbr>dsadsadsfadsadsadsfadsad<wbr>sadsfadsadsads<wbr>fadsadsadsfadsads adsfadsads
</div>

Вот скрипка.

http://jsfiddle.net/gaby_de_wilde/UJ6zG/37/

person gaby de wilde    schedule 27.01.2014