Перейти к основному содержимому

Текстовые эффекты CSS

Для переполнения текста, переноса слов, правил переноса строк и режимов письма в CSS есть отдельные свойства.

В этой главе рассматриваются четыре из них:

  • text-overflow — что происходит с содержимым, которое переполняет область
  • word-wrap — позволяет длинному слову разделиться и продолжиться на следующей строке
  • word-break — правила переноса строк
  • writing-mode — горизонтальное или вертикальное расположение строк текста

Свойство CSS text-overflow

Когда содержимое переполняет область и остаётся скрытым, свойство CSS text-overflow определяет, как сообщить об этом пользователю: текст либо обрезается, либо заканчивается многоточием (...).

Оно действует, только если присутствуют ещё два объявления:

  • white-space: nowrap;
  • overflow: hidden;

Пример

Два способа обработки переполненного текста: в первом абзаце он обрезан, во втором заканчивается многоточием (...).

Prompt
Покажите два абзаца с CSS text-overflow. Первый абзац использует text-overflow: clip, а второй — text-overflow: ellipsis. У обоих ширина 200px, сплошная чёрная граница 1px, white-space: nowrap и overflow: hidden. Используйте длинный текст, выходящий за пределы контейнера.
Output: complete HTML page

Показать при наведении

Здесь переполненное содержимое снова становится видимым, как только вы наводите курсор на элемент.

Prompt
Покажите абзац с text-overflow: ellipsis, white-space: nowrap, overflow: hidden и шириной 200px с чёрной границей. При наведении курсора установите overflow в visible, чтобы показать полный текст.
Output: complete HTML page

Свойство CSS word-wrap

Слово, слишком длинное для своей области, просто выступает за её пределы. Свойство CSS word-wrap предотвращает это, позволяя длинным словам разделяться и продолжаться на следующей строке.

Иными словами, оно принудительно переносит текст, даже если разрыв приходится на середину слова.

Пример

Здесь длинное слово разделяется и продолжается на следующей строке.

Prompt
Покажите абзац, содержащий очень длинное неразрывное слово (например, «thisisaveryveryveryveryveryverylongword»), с применённым word-wrap: break-word, чтобы длинное слово переносилось на следующую строку. Используйте контейнер шириной 11em.
Output: complete HTML page

Свойство CSS word-break

То, что происходит со словами, доходящими до конца строки, определяет свойство CSS word-break.

Оно принимает одно из трёх значений:

  • normal — применяются стандартные правила переноса строк языка
  • break-all — чтобы не было переполнения, слово может переноситься на любом символе
  • keep-all — слова не переносятся

Пример

Сравните word-break: normal в первом абзаце с word-break: break-all во втором.

Prompt
Покажите два абзаца, демонстрирующих значения word-break. Первый использует word-break: normal с текстом с дефисами, второй — word-break: break-all. Оба должны находиться в узком контейнере с границей, чтобы показать, как текст переносится по-разному.
Output: complete HTML page

Свойство CSS writing-mode

Строки текста могут идти горизонтально или вертикально, и выбор между этими вариантами делает свойство CSS writing-mode.

Оно принимает одно из трёх значений:

  • horizontal-tb — значение по умолчанию: текст идёт горизонтально слева направо, а строки располагаются вертикально сверху вниз
  • vertical-rl — текст идёт вертикально сверху вниз, а строки располагаются горизонтально справа налево
  • vertical-lr — текст идёт вертикально сверху вниз, а строки располагаются горизонтально слева направо

Пример

Несколько режимов письма в действии, включая горизонтальное и вертикальное расположение текста.

Prompt
Покажите примеры CSS writing-mode. Включите абзац с horizontal-tb (по умолчанию), абзац, содержащий span с writing-mode: vertical-rl, и третий абзац, полностью установленный в writing-mode: vertical-rl. Добавьте границы для визуализации каждого.
Output: complete HTML page

Свойства текстовых эффектов CSS

Свойства текстовых эффектов CSS вкратце:

  • text-justify — выравнивание и интервалы текста, выровненного по ширине
  • text-overflow — как сообщить пользователю о переполненном содержимом, которое остаётся скрытым
  • word-break — правила переноса строк, применяемые к словам
  • word-wrap — позволяет длинным словам разделяться и продолжаться на следующей строке
  • writing-mode — идут ли строки текста горизонтально или вертикально