Дефисы
Базовая линия 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.
HTML
<dl>
<dt><code>none</code>: no hyphen; overflow if needed</dt>
<dd lang="en" class="none">An extreme­ly long English word</dd>
<dt>
<code>manual</code>: hyphen only at &hyphen; or &shy; (if needed)
</dt>
<dd lang="en" class="manual">An extreme­ly long English word</dd>
<dt><code>auto</code>: hyphens where the algorithm decides (if needed)</dt>
<dd lang="en" class="auto">An extreme­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 | 797912–79Работает только в том случае, если указанный язык совпадает с языком операционной системы. |
436 | 4215 | 175.1 | 5518 | 436 | 4214 | 174.2 | 6.01.0 | 554.4 |
|---|---|---|---|---|---|---|---|---|---|---|---|
auto |
8855Поддерживается только на macOS. |
8879Поддерживается только на macOS. |
6 | 7442Поддерживается только на 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