Перенос слов CSS (свойства overflow-wrap, word-wrap, word-break, hyphens) — Примеры
Указанные ниже свойства CSS определяют как переносить длинные слова:
- только там, где стоит чёрточка, пробел или Enter (искл., неразрывный пробел
и неразрывный дефис‑
). Между частями одного слова пишется дефис (например, красно‐жёлтый), между словами — тире. «Мягкий дефис»­
проявляется только при необходимости переноса. Если слово выходит за рамки родителя, то<wbr>
или​
переносит его часть без чёрточки. В математических выражениях используется минус (например, 5 − 2). В номерах телефонов отображается цифровая чёрта (например, +7 800 000‒00‒00). И всё это не является той знакомой -, что есть на клавиатуре. - после любого символа.
- согласно правилам русского языка с автоматическим применением дефиса.
уже переосвидетельствовался наш тысячадевятьсотдевяностодевятикилограммовый корчеватель‐бульдозер‐погрузчик
<style> . div { overflow-wrap: normal;break-word; word-wrap: normalbreak-word; word-break: normal;keep-all;break-all; line-break: autoloosenormalstrict; -webkit-hyphens: none; -webkit-hyphens: auto; -ms-hyphens: none;-ms-hyphens: auto; hyphens: manualnoneauto; width: 50%; white-space: nowrap;} </style> <div lang="ru"lang="ru">уже переосвидетельствовался наш тысячадевятьсотдевяностодевяти­килограммовый корчеватель‐бульдозер‐погрузчик</div>
В чём состоит различие одно свойства от другого
По умолчанию длинные слова не переносятся, если на то нет явных указаний с помощью дефиса, и начинаются с новой строки.
Для того, чтобы игнорировались черточки, сразу видимые глазу, вносим word-break: keep-all;
.
Для того, чтобы браузер не обращал внимания и на мягкий дефис, вставляем hyphens: none;
.
Если требуется перенос слов, то word-wrap: break-word;
советую применять всегда, поскольку он понимается всеми браузерами. Он отличается от word-break: break-all;
, которое является приоритетным, тем, что слова, которые не помещаются в блок, начинаются с новой строки и учитывается рекомендация мягкого дефиса.
При совместном использовании word-break: break-all;
с hyphens: auto;
, последнее игнорируется. hyphens: auto;
расставляет любые дефисы по своему усмотрению. Но для того, чтобы оно работало, нужно обозначить свой язык, указав в div атрибут lang="ru"
.
Не переносить слова на другую строку
Скажем, пункт меню или кнопка будут нехорошо выглядеть, если разъедутся на части. Поэтому надо запретить их разделение. Для чего все вышеуказанные свойства следует поставить в режим «по умолчанию» и добавить white-space: pre; или white-space: nowrap;. Нажмите на white-space: nowrap; и посмотрите на наш полигон.
Управлять переносом слов при hyphens: auto;
Тетрагидропиранилциклопентилтетрагидропиридопиридиновые
<div lang="ru">Тетрагидропиранилциклопентилтетрагидропиридо<span>пиридино</span>вые</div> <style> .hyphens { -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; /* пока поддерживает только Firefox */ text-align: justify; } .nohyphens { white-space: nowrap; } </style>
html — Перенос слова по буквам на следующую строку, если не помещается в ширину
При переносе слов в ссылке, ее блок превышает необходимую длину справа.
Как можно убрать этот отступ так, чтобы ширина сама варьировалась в зависимости от длины слов?
Сейчас получается так, что эта ссылка с названием осуществляет перенос на новую строку, при этом заполняя полностью всю ширину, а так как фиксированной ширины нет, она заполняет сколько может.
.vacancy-item-title { display: block; font-size: 20px; line-height: 1. 2; margin-bottom: 15px; word-wrap: break-word; }
<a href="#">Врач-косметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог</a>
- html
- css
Ваша задача решается, через word-break:break-all;
.
.vacancy-item-title { display: block; font-size: 20px; line-height: 1.2; margin-bottom: 15px; word-break:break-all; }
<a href="#">Врач-косметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог/Дермотокосметолог</a>
Если я конечно же, правильно понял вашу задачу.
.vacancy-item-title { display: inline-block; font-size: 20px; line-height: 1.2; margin-bottom: 15px; word-wrap: break-word; }
<a href="#">Врач-косметолог/Дерматокосметолог</a>2
Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через Facebook Регистрация через почтуОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
Как добавить разрыв строки с помощью CSS
Обзор
Свойство CSS line-break указывает, как применять ограничения для переноса текста на новые строки при работе с символами и пунктуацией в китайских, японских или корейских (CJK) системах письма. . Свойство разрыва строки css позволяет нам создавать точки останова на наших веб-страницах без использования HTML-элемента
.
Синтаксис
Свойство разрыва строки CSS принимает такие ключевые слова, как auto, свободный, нормальный, строгий, везде и т. д.
Давайте подробно обсудим значения этих свойств.
Значения свойств
- auto : Разбивает текст, используя правило разрыва строки по умолчанию.
- свободный: Разбивает текст, используя наименее ограничительное правило разрыва строки.
- normal: Разбивает текст по наиболее распространенному правилу переноса строки.
- strict: Разбивает текст, используя самое строгое правило разрыва строки.
- везде: Это значение предлагает параметры мягкого переноса, которые позволяют разрывать текст на знаках препинания или пробелах, а не только на границах слов. Это хорошо работает для языков, в которых может не быть знаков препинания или пробелов между словами.
Давайте разберемся, как добавить разрыв строки в CSS на следующем примере: Пример
HTML
Вывод
Зачем мне разрывать строку в CSS?
Нам нужно разбивать строки в CSS, потому что это снижает зависимость от многих тегов
в нашем HTML-документе и улучшает читаемость кода. Кроме того, это позволяет нам улучшить читаемость текста на наших веб-страницах, повышая удобство работы пользователей.
Большая часть CSS для разрывов строк требует незначительных изменений в нашем HTML-содержимом.
Как добавить новую строку в CSS
Нам нужно использовать некоторые методы, чтобы добавить новую строку в CSS. Давайте обсудим некоторые из них:
Использование ::after для вставки разрыва строки
Чтобы добавить разрыв строки, используя только CSS, нам нужно использовать псевдокласс ::after или ::before. В таблице стилей мы можем использовать эти псевдоклассы с классом или идентификатором HTML до или после места, где мы хотим вставить разрыв строки.
В #content1::after :
- Мы установим для свойства содержимого символ новой строки /a.
- Мы установим для свойства пробела значение pre, что побуждает браузер читать каждое пустое пространство в содержимом1 как пустое пространство.
- Свойство white-space вставляет разрыв строки перед элементом и управляет переносом текста и пробелами.
HTML
CSS
Вывод
Использование ::before для вставки разрыва строки
- Этот метод работает так же, как и предыдущий.
- Добавляет разрыв строки перед указанным идентификатором и классом.
- Здесь мы добавим разрыв строки перед второй строкой. Поэтому мы будем использовать идентификатор #content2.
CSS
Вывод
Свойство содержимого CSS с нулевым размером шрифта
Использование свойства содержимого CSS с нулевым размером шрифта требует, чтобы мы заключили некоторый HTML-контент с дополнительной разметкой. Мы можем использовать тег HTML для дополнительной разметки. CSS манипулирует тегом через псевдоэлемент. Эта манипуляция приводит к разрыву строки содержимого CSS, как показано ниже:
HTML
CSS
Вывод
Блок возврата каретки и отображения
При использовании блока возврата каретки и отображения необходимо включить дополнительную разметку вокруг области, где требуется точка останова. Используя псевдоэлемент CSS, мы можем манипулировать дополнительной разметкой в CSS.
- Мы будем использовать псевдоэлемент ::before.
- Мы добавим в содержимое символ возврата каретки \a.
- Затем мы установим свойство отображения на блокировку.
Примечание: Свойству display присваивается значение на уровне блока, поскольку блочные элементы начинаются с новой строки, заполняя всю доступную ширину.
HTML
CSS
Вывод
Возврат каретки и пробел Pre сохраняет только возврат каретки на веб-странице, принуждение CSS-эффекта разрыва строки.
HTML
CSS
Вывод
Разбить в HTML, сохранить в CSS
очередь в CSS. Этот метод позволяет нам добавить разрыв строки в CSS перед элементом без использования псевдоэлементов.
Примечание: Мы устанавливаем свойство пробела только в значение перед строкой для элемента
.
HTML
CSS
Вывод
Разрыв с направлением Flexbox
Мы можем обернуть необходимую точку останова в наш HTML с дополнительной разметкой. Затем в нашем CSS мы сделаем следующее:
- Настроим flex-контейнер вокруг текста.
- Установите значение flex-direction для столбца.
Этот метод приводит к тому, что все flex-элементы располагаются друг над другом, создавая разрыв абзаца CSS.
HTML
CSS
Вывод
Блок отображения в CSS перед псевдоэлементом
- Мы будем использовать свойство содержимого CSS и укажем его содержимое в виде пустой строки.
- Затем мы изменим псевдоэлемент ::before на элемент блочного уровня.
HTML
CSS
Вывод
Таблица отображения
Мы установим свойство отображения CSS в таблицу для точек останова. Поскольку таблица является элементом уровня блока, это вызовет разрыв строки.
HTML
CSS
Вывод
Поддержка браузера
Все современные веб-браузеры поддерживают методы и свойство разрыва строки css, обсуждаемые в этой статье. .
Браузер | Версия |
---|---|
Google Chrome | 58 |
11 | |
Mozilla Firefox | 69 |
Microsoft Edge | 14 |
Opera | 45 |
Chrome Android | 58 |
Firefox для Android | 79 |
Opera Android | 43 |
Safari на iOS | 11 |
Samsung Internet | 7.0 |
WebView Android | 58 |