В overflow-wrap
имота в CSS ви позволява да посочите, че браузърът може да се счупят ред от текста вътре в целенасочена елемент върху няколко реда в иначе нечуплив място. Това помага да се избегне необичайно дълъг низ от текст, причиняващ проблеми с оформлението поради препълване.
.example ( overflow-wrap: break-word; )
Стойности
normal
: по подразбиране. Браузърът ще прекъсва линии в съответствие с нормалните правила за прекъсване на редове. Думите или непрекъснатите низове няма да се счупят, дори ако преливат контейнера.break-word
: думи или низове от символи, които са твърде големи, за да се поберат в контейнера им, ще се счупят на произволно място, за да принудят прекъсване на ред. Тирето няма да бъде вмъкнато, дори акоhyphens
се използва свойството.inherit
: целевият елемент трябва да наследи стойността наoverflow-wrap
свойството, дефинирано в непосредствения родител.
Демото по-долу има бутон за превключване, който ви позволява да превключвате между normal
и break-word
.
Вижте демонстрацията на Pen over-wrap / word-wrap на Louis Lazaris (@impressivewebs) в CodePen.
За да демонстрира проблема, който се overflow-wrap
опитва да реши, демонстрацията използва необичайно дълга дума в сравнително малък контейнер. Когато включите break-word
, думата е счупена, за да побере малкото налично пространство, сякаш думата е множество думи.
Низ неразбиващи се интервали (
) ще бъдат третирани по същия начин и също ще се прекъснат на подходящо място.
overflow-wrap
е полезен, когато се прилага към елементи, които съдържат немодерирано потребителско съдържание (като раздели за коментари). Това може да попречи на дългите URL адреси и други непрекъснати низове текст (например вандализъм) да нарушат оформлението на уеб страницата.
Прилики със word-break
собствеността
overflow-wrap
и се word-break
държат много подобно и могат да се използват за решаване на подобни проблеми. Основно обобщение на разликата, както е обяснено в спецификацията на CSS, е:
overflow-wrap
обикновено се използва за избягване на проблеми с дълги низове, причиняващи счупени оформления поради текст, изтичащ извън контейнер.word-break
определя възможностите за меко увиване между букви, често свързани с езици като китайски, японски и корейски (CJK).
След описване на примери за това как word-break
може да се използва в съдържанието на CJK, спецификацията казва: „За да активирате допълнителни възможности за прекъсване само в случай на преливане, вижте overflow-wrap
“.
От това можем да предположим, че word-break
е най-добре да се използва със съдържание, което не е на английски език, което изисква специфични правила за разбиване на думи, и което може да бъде осеяно с английско съдържание, като същевременно overflow-wrap
трябва да се използва, за да се избегнат счупени оформления поради дълги низове, независимо от използвания език .
Историческата word-wrap
собственост
overflow-wrap
е стандартното име за своя предшественик, word-wrap
свойството. word-wrap
първоначално беше собствена функция само за Internet Explorer, която в крайна сметка се поддържаше във всички браузъри, въпреки че не беше стандарт.
word-wrap
приема същите стойности като overflow-wrap
и се държи по същия начин. Според спецификацията браузърите „трябва да се третират word-wrap
като алтернативно име на overflow-wrap
свойството, сякаш е стенография на overflow-wrap
“. Също така, всички потребителски агенти трябва да поддържат word-wrap
неограничено време, поради наследени причини.
Както overflow-wrap
и word-wrap
ще премине CSS валидиране толкова дълго, колкото валидатора е настроен на тест срещу CSS3 или по-висока (в момента по подразбиране).
Свързани
- прекъсване на думи
- тирета
- бяло пространство
- Работа с дълги думи и URL адреси
Повече информация
- Опаковане на думи: CSS3 свойство, което работи във всеки браузър
- Опаковане с препълване на W3C
- Дискусия за препълване на стека на
word-break
срещуoverflow-wrap
Поддръжка на браузър
Тези данни за поддръжка на браузъра са от Caniuse, който има повече подробности. Число показва, че браузърът поддържа функцията на тази версия и по-нова.
работен плот
Chrome | Firefox | IE | Ръб, край | Сафари |
---|---|---|---|---|
23. | 49 | 11. | 18. | 6.1 |
Мобилен / таблет
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4.4 | 7,0-7,1 |
Посочената по-горе „частична“ поддръжка се дължи на по-стари браузъри, които поддържат, word-wrap
но не overflow-wrap
. Използването и на двете може да осигури обратна съвместимост.
Черновата версия на редактора на спецификацията W3C включва нова стойност, наречена, break-spaces
която се занимава с поредици от „запазени“ знаци за празно пространство. Няма известна поддръжка на браузъра за тази функция и тя не е включена в работната версия на спецификацията.