Spec-Zone.ru › CSS

Дефисы

Базовая линия 2023

Новое

С сентября 2023 года эта функция работает на последних версиях устройств и браузеров. Возможно, эта функция не будет работать на старых устройствах или браузерах.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Свойство hyphens CSS определяет, как слова должны быть разделены дефисами при переносе текста на несколько строк. Оно может полностью запретить разделение дефисами, разделить слова по вручную указанным точкам внутри текста или позволить браузеру автоматически вставлять дефисы, где это уместно.

Попробовать

Примечание: В демонстрации выше строка «An extraordinarily long English word!» содержит скрытый ­ (мягкий дефис) символ: An extra­ordinarily long English word!. Этот символ используется для обозначения потенциального места вставки дефиса, когда hyphens: manual; указан.

Правила разделения дефисами зависят от языка. В HTML язык определяется атрибутом lang, и браузеры будут разделять слова дефисами только в том случае, если этот атрибут присутствует и соответствующий словарь разделения дефисами доступен. В XML необходимо использовать атрибут xml:lang.

Примечание: Правила, определяющие, как выполняется разделение дефисами, не определены явно в спецификации, поэтому точное разделение может отличаться от браузера к браузеру.

Если поддерживается, hyphenate-character может использоваться для указания альтернативного символа дефиса для использования в конце разбиваемой строки.

Синтаксис

/* Keyword values */
hyphens: none;
hyphens: manual;
hyphens: auto;

/* Global values */
hyphens: inherit;
hyphens: initial;
hyphens: revert;
hyphens: revert-layer;
hyphens: unset;

Свойство hyphens задается как одно ключевое значение из списка ниже.

Значения

none

Слова не разбиваются на переносимые строки, даже если символы внутри слов предполагают точки разрыва строк. Строки будут переноситься только по пробелам.

manual

Значение по умолчанию. Слова разбиваются для переноса строк только в местах, где символы внутри слова предполагают возможность переноса строки. Подробности см. в разделе Предложение точек разрыва строк ниже.

auto

Браузер свободно автоматически разбивает слова в подходящих точках дефиса, следуя своим правилам. Однако, предложенные точки разрыва строк (см. Предложение точек разрыва строк ниже) переопределят выбор автоматических точек разрыва при их наличии.

Примечание: Поведение параметра auto зависит от того, правильно ли задан язык для выбора соответствующих правил разделения дефисами. Вы должны указать язык с помощью атрибута lang HTML, чтобы гарантировать применение автоматического разделения дефисами на этом языке.

Примечание: Если вы применяете word-break: break-all, то дефисы не отображаются, даже если слово разбивается на точку дефиса.

Предложение точек разрыва строк

Существует два символа Юникода, используемые для ручного указания потенциальных точек разрыва строк в тексте:

U+2010 (Дефис)

Символ «жёсткого» дефиса указывает на видимую возможность разрыва строки. Даже если строка фактически не разрывается в этом месте, дефис всё равно отображается.

U+00AD (Мягкий дефис)

Невидимый, «мягкий» дефис. Этот символ не отображается визуально; вместо этого он отмечает место, где браузер должен разбить слово, если необходимо разделение дефисами. В HTML используйте ­ для вставки мягкого дефиса.

Примечание: Когда элемент HTML <wbr> приводит к разрыву строки, дефис не добавляется.

Формальное определение

Начальное значение manual
Применяется к всем элементам
Наследуется да
Вычисленное значение как указано
Тип анимации дискретный

Формальный синтаксис

hyphens = 
none |
manual |
auto

Примеры

Указание разделения текста дефисами

В этом примере используются три класса, каждый для конфигурации свойства hyphens.

HTML

<dl>
  <dt><code>none</code>: no hyphen; overflow if needed</dt>
  <dd lang="en" class="none">An extreme&shy;ly long English word</dd>
  <dt>
    <code>manual</code>: hyphen only at &amp;hyphen; or &amp;shy; (if needed)
  </dt>
  <dd lang="en" class="manual">An extreme&shy;ly long English word</dd>
  <dt><code>auto</code>: hyphens where the algorithm decides (if needed)</dt>
  <dd lang="en" class="auto">An extreme&shy;ly long English word</dd>
</dl>

CSS

dd {
  width: 55px;
  border: 1px solid black;
}
dd.none {
  hyphens: none;
}
dd.manual {
  hyphens: manual;
}
dd.auto {
  hyphens: auto;
}

Результат

Спецификации

Спецификация
CSS Text Module Level 3
# hyphens-property

Совместимость браузеров

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
hyphens 5513 7979
12–79Работает только в том случае, если указанный язык совпадает с языком операционной системы.
436 4215 175.1 5518 436 4214 174.2 6.01.0 554.4
auto 88
55Поддерживается только на macOS.
88
79Поддерживается только на macOS.
6 74
42Поддерживается только на macOS.
5.1 55 6 42 4.2 6.0 55
language_afrikaans 112 112 8 98 Нет 112 8 75 Нет 23.0 112
language_albanian 112 112 Нет 98 Нет 112 Нет 75 Нет 23.0 112
language_amharic 112 112 Нет 98 Нет 112 Нет 75 Нет 23.0 112
language_armenian 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_assamese 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_basque 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_belarusian 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_bengali 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_bosnian Нет Нет 8 Нет Нет Нет 8 Нет Нет Нет Нет
language_bulgarian 87 87 8 73 Нет 87 8 62 Нет 14.0 87
language_catalan Нет Нет 8 Нет 5.1 Нет 8 Нет 5 Нет Нет
language_croatian 87 87 8 73 9.1 87 8 62 9.3 14.0 87
language_cyrillic_mongolian 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_czech 112 112 130 98 9.1 112 130 75 9.3 23.0 112
language_danish 87 87 8 73 5.1 87 8 62 5 14.0 87
language_dutch 112 112 8 98 5.1 112 8 75 5 23.0 112
language_english 55 12
6Для английского языка Firefox использует словарь en-US
44
5.1Для английского языка Safari использует разные словари en-GB и en-US.
55
6Для английского языка Firefox использует словарь en-US
43
5Для английского языка Safari использует разные словари en-GB и en-US.
6.0 55
language_esperanto Нет Нет 8 Нет Нет Нет 8 Нет Нет Нет Нет
language_estonian 87 87 8 73 Нет 87 8 62 Нет 14.0 87
language_ethiopic_script_mul 112 112 Нет 98 Нет 112 Нет 75 Нет 23.0 112
language_ethiopic_script_und 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_finnish Нет Нет 8 Нет 9.1 Нет 8 Нет 9.3 Нет Нет
language_french 87 87 8 73 5.1 87 8 62 5 14.0 87
language_galician 112 112 9 98 Нет 112 9 75 Нет 23.0 112
language_georgian 112 112 Нет 98 Нет 112 Нет 75 Нет 23.0 112
language_german_reformed_orthography 87 87 8 73 5.1 87 8 62 5 14.0 87
language_german_swiss_orthography 87 87 8 73 Нет 87 8 62 Нет 14.0 87
language_german_traditional_orthography 87 87 8 73 Нет 87 8 62 Нет 14.0 87
language_gujarati 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_hindi 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_hungarian 87 87 9 73 9.1 87 9 62 9.3 14.0 87
language_icelandic Нет Нет 8 Нет Нет Нет 8 Нет Нет Нет Нет
language_interlingua Нет Нет 8 Нет Нет Нет 8 Нет Нет Нет Нет
language_irish 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_italian 112 112 9 98 5.1 112 9 75 5 23.0 112
language_kannada 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_kurmanji Нет Нет 8 Нет Нет Нет 8 Нет Нет Нет Нет
language_latin 87 87 8 73 Нет 87 8 62 Нет 14.0 87
language_latvian 112 112 Нет 98 Нет 112 Нет 75 Нет 23.0 112
language_lithuanian 112 112 8 98 Нет 112 8 75 Нет 23.0 112
language_malayalam 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_marathi 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_modern_greek 112 112 Нет 98 Нет 112 Нет 75 Нет 23.0 112
language_mongolian Нет Нет 8 Нет Нет Нет 8 Нет Нет Нет Нет
language_norwegian_nn 87 87 8 73 Нет 87 8 62 5 14.0 87
language_norwegian_no 87 87 8 73 5.1 87 8 62 5 14.0 87
language_old_slavonic 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_oriya 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_polish Нет Нет 31 Нет 9.1 Нет 31 Нет 9.3 Нет Нет
language_portuguese 87 87 8 73 9.1 87 8 62 9.3 14.0 87
language_punjabi 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_russian 112 112 8 98 5.1 112 8 75 5 23.0 112
language_slovak 112 112 130 98 Нет 112 130 75 Нет 23.0 112
language_slovenian 87 87 8 73 Нет 87 8 62 Нет 14.0 87
language_spanish 87 87 8 73 5.1 87 8 62 5 14.0 87
language_swedish 112 112 8 98 5.1 112 8 75 5 23.0 112
language_tamil 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_telugu 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_turkish Нет Нет 9 Нет 5.1 Нет 9 Нет 5 Нет Нет
language_turkmen 87 87 Нет 73 Нет 87 Нет 62 Нет 14.0 87
language_ukrainian 112 112 9 98 9.1 112 9 75 9.3 23.0 112
language_upper_sorbian Нет Нет 8 Нет Нет Нет 8 Нет Нет Нет Нет
language_welsh 87 87 8 73 Нет 87 8 62 Нет 14.0 87

См. также

  • content
  • overflow-wrap (ранее word-wrap)
  • word-break
  • Руководство по переводу и разрыву текста

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/hyphens

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API