overflow-wrap
Властивість в CSS дозволяє вказати , що браузер може розірвати рядок тексту всередині цільового елемента на кілька рядків в іншому нерозривній місці. Це допомагає уникнути незвично довгого рядка тексту, що спричиняє проблеми з макетом через переповнення.
.example ( overflow-wrap: break-word; )
Цінності
normal
: за замовчуванням. Браузер ламає рядки відповідно до звичайних правил розбиття рядків. Слова або непорушені рядки не порвуться, навіть якщо вони переповнюють контейнер.break-word
: слова або рядки символів, які занадто великі, щоб поміститися всередині їх контейнера, розірвуться у довільному місці, щоб змусити розбити рядок. Дефіс не буде вставлений, навіть якщо використовуєтьсяhyphens
властивість.inherit
: цільовий елемент повинен успадкувати вартістьoverflow-wrap
властивості, визначеної для його безпосереднього батьківського елемента .
У демонстраційній частині нижче є кнопка перемикання, яка дозволяє перемикатися між normal
та break-word
.
Перегляньте демонстраційну демонстрацію переповнення / перенесення слова Pen від Луї Лазаріса (@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
vs.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
послідовністю «збережених» пробілів. Немає відомої підтримки браузера для цієї функції, і вона не включена в робочу чернетку версії специфікації.