Попробуйте это stackblitz :
.dont-break-out {
/* These are technically the same, but use both */
overflow-wrap: break-word;
word-wrap: break-word;
-ms-word-break: break-all;
/* This is the dangerous one in WebKit, as it breaks things wherever */
word-break: break-all;
/* Instead use this non-standard one: */
word-break: break-word;
/* Adds a hyphen where the word breaks, if supported (No Blink) */
-ms-hyphens: auto;
-moz-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;
}
Вот совок:
overflow-wrap: break-word;
гарантирует, что длинная нить обернется и не вылетит изконтейнер.Вы также можете использовать перенос слов, потому что, как говорится в спецификации, они буквально являются просто альтернативными именами друг для друга.Некоторые браузеры поддерживают один, а не другой.Firefox (протестированный v43) поддерживает только word-wrap
.Blink (проверенный Chrome v45) возьмет любой из них. - Поскольку
overflow-wrap
используется сам по себе, слова будут ломаться почти везде, где им нужно.Если есть символ «приемлемого разрыва» (например, буквальный тире), он сломается там, в противном случае он просто делает то, что ему нужно. - Вы также можете использовать
hyphens
потому что тогда он попытается со вкусом добавить дефис, где он ломается, если браузер поддерживает его (Blink не делает во время написания, Firefox делает). word-break: break-all;
должен сказать браузеру, что все в порядкесломать слово везде, где это нужно.Несмотря на то, что в любом случае это так, я не уверен, в каких случаях это необходимо на 100%.
source <- вся статья полезна.Прочитайте это! </p>
Я также рекомендую вам этот поток StackOverflow: В чем разница между "word-break: break-all" и "word-wrap: break-word" в CSS