Как можно обернуть текст, например aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
, который превышает ширину a div
(скажем 200px
)?
Я открыт для любого решения, такого как CSS, jQuery и т.д.
Как можно обернуть текст, например aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
, который превышает ширину a div
(скажем 200px
)?
Я открыт для любого решения, такого как CSS, jQuery и т.д.
Попробуйте следующее:
div {
width: 200px;
word-wrap: break-word;
}
Вы можете использовать мягкий дефис, например:
aaaaaaaaaaaaaaa­aaaaaaaaaaaaaaa
Это будет отображаться как
aaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaa
если поле ввода недостаточно велико или как
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
если он есть.
В bootstrap 3 убедитесь, что пустое пространство не установлено как 'nowrap'.
div {
width: 200px;
word-break: break-all;
white-space: normal;
}
div {
// set a width
word-wrap: break-word
}
Решение "word-wrap
" работает только в IE и браузерах, поддерживающих CSS3
.
Лучшим решением для кросс-браузера является использование вашего языка на стороне сервера (php или что-то еще) для поиска длинных строк и регулярного размещения внутри них html-объекта ​
Этот объект прекрасно разбирает длинные слова и работает во всех браузерах.
например.
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa​aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Единственный, который работает в IE, Firefox, chrome, safari и opera, если в слове нет пробелов (например, длинный URL-адрес):
div{
width: 200px;
word-break: break-all;
}
Я нашел это пуленепробиваемым.
Другой вариант также использует:
div
{
white-space: pre-line;
}
Это установит все ваши элементы div во всех браузерах, поддерживающих CSS1 (что почти во всех распространенных браузерах еще в IE 8)
Это сработало для меня
word-wrap: normal;
word-break: break-all;
white-space: normal;
display: block;
height: auto;
margin: 3px auto;
line-height: 1.4;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
Добавьте этот CSS в параграф.
style="width:420px;
min-height:15px;
height:auto!important;
color:#666; padding: 1%;
font-size: 14px;
font-weight: normal;
word-wrap: break-word;
text-align: left"
.wrap
{
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
Попробуйте это
div{
display: block;
display: -webkit-box;
height: 20px;
margin: 3px auto;
font-size: 14px;
line-height: 1.4;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
Пример из CSS-трюки:
div {
-ms-word-break: break-all;
/* Be VERY careful with this, breaks normal words wh_erever */
word-break: break-all;
/* Non standard for webkit */
word-break: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
hyphens: auto;
}
Дополнительные примеры здесь.
В теге HTML попробуйте:
<table>
<tr>
<td>
<div style="word-wrap: break-word; width: 800px">
Hello world, how are you? More text here to see if it wraps after a long while of writing and it does on Firefox but I have not tested it on Chrome yet. It also works wonders if you have a medium to long paragraph. Just avoid writing in the CSS file that the words have to break-all, that a small tip.
</div>
</td>
</tr>
</table>
В теге CSS попробуйте:
background-size: auto;
table-layout: fixed;
Используйте атрибут word-wrap:break-word
вместе с требуемой шириной. В основном, положить
ширина в пикселях, а не в процентах.
width: 200px;
word-wrap: break-word;
Для меня работает серверное решение: $message = wordwrap($message, 50, "<br>", true);
где $message
- строковая переменная, содержащая слово/символы, которые нужно разбить. 50 - максимальная длина любого заданного сегмента, а "<br>"
- текст, который вы хотите вставить каждый (50) символов.