текст, що випливає з div


98

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

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

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

Відповіді:


172

Це пов’язано з тим, що у вас одне довге слово без пробілів. Ви можете використовувати word-wrapвластивість, щоб привести до розриву тексту:

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

Він також має досить хорошу підтримку браузера. Дивіться документацію про це тут .


3
мені це не вдалося, ось ще один приклад.
Діпак Вайшнав

це чудово, вирішено якусь проблему на адаптивній сторінці
yussan

Яке чисте та просте рішення. Дякуємо, що поділилися нею.
Dzenis H.

108

Використовуйте

white-space: pre-line;

Це запобіжить витіканню тексту з div. Це призведе до розриву тексту, коли він досягне кінця div.


28

Ви повинні використовувати overflow:hidden; абоscroll

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

або за допомогою php ви можете скоротити довгі слова ...


Awesome. жаль, що згадую, я хочу, щоб він перейшов до наступного рядка, як gmail chat або facebook chat :)
madhu131313

Тоді ви можете використовувати версію @chipcullen з обгортанням слів! демонстрація: jsfiddle.net/UJ6zG/3

8

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

overflow-wrap: break-word;

Відповідно до технічних характеристик (джерело CSS | MDN ):

В overflow-wrapвизначає CSS властивості або НЕ браузер повинен вставити розриви рядків усередині слів , щоб запобігти текст від переповнення його вмісту вікна.

Зі значенням, встановленим на break-word

Щоб запобігти переповненню, зазвичай незламні слова можуть бути розбиті в довільних точках, якщо в рядку немає точок розриву, прийнятних інакше.

Варто згадати ...

Спочатку властивість була нестандартним і нефіксованим розширенням Microsoft, що називається word-wrap, і реалізовувалася більшістю браузерів з такою ж назвою. З тих пір вона була перейменована в overflow-wrap, з word-wrapбудучи псевдонімом.


Якщо вам потрібна підтримка застарілих браузерів, варто вказати обидва:

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

Вих. IE9 не розпізнає, overflow-wrapале добре працюєword-wrap


Дякую, у мене це вийшло. Ви писали "Зі значенням, встановленим на" світ-перелом "- я майже впевнений, що ви мали на увазі" слово-перелом "без" л ", сподіваюся, ви не хотіли зламати світ;)
Джейк Нойман,



2

Це зробило для мене фокус:

{word-break: break-all; }


1
велике спасибі, це було єдине, що працювало на мене (використовуючи styled-компоненти в React)
mlz7


-6

Якщо це лише один екземпляр, який потрібно обернути на 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/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.