Как слово обернуть текст в HTML?
как текст, как aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
который превышает ширину a div
(скажем 200px
) будут заворачивать?
Я открыт для любого решения, такого как CSS, jQuery и т. д.
16 ответов:
вы можете использовать мягкий дефис, вот так:
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 }
The'
word-wrap
' решение работает только в IE и браузерах, поддерживающихCSS3
.лучшее кросс-браузерное решение-использовать ваш серверный язык (php или что-то еще), чтобы найти длинные строки и поместить в них через регулярные промежутки времени HTML-объект
​
Эта сущность красиво разбивает длинные слова и работает во всех браузерах.например
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa​aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
единственный, который работает в IE, Firefox, chrome, safari и opera, если в слове нет пробелов (например, длинный URL-адрес):
div{ width: 200px; word-break: break-all; }
Я обнаружил, что это пуленепробиваемый.
это сработало для меня
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;
другой вариант также использует:
div { white-space: pre-line; }
это установит все ваши элементы div во всех браузерах, которые поддерживают CSS1 (что в значительной степени все распространенные браузеры еще в IE 8)
добавьте этот 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+ */ }
серверное решение, которое работает для меня:
$message = wordwrap($message, 50, "<br>", true);
здесь$message
- это строковая переменная, содержащая слово / символы для разбиения. 50-максимальная длина любого данного сегмента, и"<br>"
текст, который вы хотите вставить все (50) символов.
попробуй такое
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; }
свойство text-overflow: ellipsis add ... и линия-зажим показывает количество линий.
в 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's a small tip. </div> </td> </tr> </table>
в CSS body попробуйте:
background-size: auto; table-layout: fixed;