text-spacing-trim
Ограниченная доступность
Эта функция не является базовой, так как не работает в некоторых из наиболее широко используемых браузеров.
Экспериментальный: Это экспериментальная технология.
Перед использованием в производстве внимательно проверьте таблицу совместимости браузеров.
Свойство text-spacing-trim CSS управляет внутренним интервалом, заданным на знаках препинания CJK (китайский, японский, корейский) между соседними символами (кернинг) и в начале или конце строк текста.
Синтаксис
/* Keyword values */ text-spacing-trim: normal; text-spacing-trim: space-all; text-spacing-trim: space-first; text-spacing-trim: trim-start; /* Global values */ text-spacing-trim: inherit; text-spacing-trim: initial; text-spacing-trim: revert; text-spacing-trim: revert-layer; text-spacing-trim: unset;
Значения
<spacing-trim>-
Определяет различные варианты обрезки интервалов. Доступные значения:
normal-
Устанавливает символы CJK открывающей полной ширины в полную ширину в начале каждой строки. Устанавливает символы CJK закрывающей полной ширины в полную ширину в конце каждой строки или в полуширину, если они не помещаются в строке до выравнивания. Сжимает интервалы между знаками препинания.
space-all-
Все символы CJK полной ширины устанавливаются в полную ширину.
space-first-
Ведёт себя как
normal, за исключением того, что символы CJK открывающей полной ширины устанавливаются в полную ширину в начале первой строки контейнера блока текста и в начале каждой последующей строки после явного перевода строки, например, символа новой строки. trim-start-
Ведёт себя как
normal, за исключением того, что символы CJK открывающей полной ширины устанавливаются в полуширину в начале каждой строки.
Примечание: Модуль CSS Text также определяет значения
trim-both,trim-all, иauto. Однако они в настоящее время не реализованы ни в одном браузере.
Описание
Свойство text-spacing-trim применяет интервалы/кернинг к знакам препинания CJK для создания визуально приятной типографики, как определено в требованиях к японскому макету текста (JLREQ) и требованиях к китайскому макету текста (CLREQ).
Многие знаки препинания CJK включают интервалы внутри глифов. Например, китайский знак препинания и закрывающая скобка CJK обычно имеют интервал внутри глифа справа, чтобы обеспечить постоянную ширину глифа, соответствующую другим идеографическим символам. Однако, когда они появляются в строке, внутренние интервалы глифов могут стать избыточными.
text-spacing-trim можно использовать для корректировки таких избыточных интервалов между соседними символами (кернинг) и в начале или конце строк текста. Общее правило:
- Если символ препинания полной ширины установлен в полную ширину, он имеет внутренние интервалы с обеих сторон и имеет полную ширину идеограммы.
- Если символ препинания полной ширины установлен в полуширину, он имеет внутренние интервалы с одной стороны только, а другая сторона примыкает к началу (в случае открывающих знаков препинания) или концу (в случае закрывающих знаков препинания). Знаки полуширины обычно имеют ширину в половину от ширины идеограммы.
Примечание: Чтобы избежать риска избыточного кернинга, шрифты должны иметь функцию OpenType Alternate Half Widths (halt) , функцию Contextual Half-width Spacing (chws) или обе. Если шрифт не имеет ни одной из функций, text-spacing-trim отключена.
Сжатие знаков препинания полной ширины
Когда пары знаков препинания расположены рядом друг с другом, интервал между ними сжимается в соответствии со следующими правилами:
- Знак препинания открывающей полной ширины устанавливается в полуширину, если предыдущий символ является знаком препинания открывающей полной ширины, символом среднего двоеточия полной ширины, идеографическим пробелом (U+3000), знаком препинания закрывающей полной ширины с эквивалентным или большим размером шрифта или символом, принадлежащим категории Unicode "Открывающие знаки препинания" Ps. В противном случае он устанавливается в полную ширину.
- Знак препинания закрывающей полной ширины устанавливается в полуширину, если следующий символ является знаком препинания закрывающей полной ширины, символом среднего двоеточия полной ширины, идеографическим пробелом (U+3000), знаком препинания открывающей полной ширины с большим размером шрифта или символом, принадлежащим категории Unicode "Закрывающие знаки препинания" (Pe). В противном случае он устанавливается в полную ширину.
Формальное определение
| Начальное значение | normal |
|---|---|
| Применяется к | элементам текста |
| Наследуется | да |
| Вычисленное значение | как указано |
| Тип анимации | дискретный |
Формальный синтаксис
Примеры
text-spacing-trim сравнение значений
В этом примере сравнивается эффект четырёх разных свойств text-spacing-trim, применённых к четырём идентичным абзацам, чтобы вы могли увидеть визуальные различия между ними.
HTML
<main>
<div id="normal">
<h2>normal</h2>
<p>
(東)、【「(東)」】。<br />
「東」「東」「東」東東東「東」。
</p>
</div>
<div id="space-all">
<h2>space-all</h2>
<p>
(東)、【「(東)」】。<br />
「東」「東」「東」東東東「東」。
</p>
</div>
<div id="space-first">
<h2>space-first</h2>
<p>
(東)、【「(東)」】。<br />
「東」「東」「東」東東東「東」。
</p>
</div>
<div id="trim-start">
<h2>trim-start</h2>
<p>
(東)、【「(東)」】。<br />
「東」「東」「東」東東東「東」。
</p>
</div>
</main>
CSS
main {
font-family: "Yu Gothic", "YuGothic", "Noto Sans JP", "Hiragino Sans",
"Hiragino Kaku Gothic ProN", sans-serif;
display: grid;
gap: 0.5em;
grid-template-columns: 1fr 1fr;
width: 70%;
margin: 0 auto;
}
h2 {
font-size: 80%;
margin: 0;
}
p {
font-size: 20px;
border: 1px solid blue;
margin: 0;
}
#normal {
text-spacing-trim: normal;
grid-column: 1;
grid-row: 1;
}
#space-all {
text-spacing-trim: space-all;
grid-column: 2;
grid-row: 1;
}
#space-first {
text-spacing-trim: space-first;
grid-column: 1;
grid-row: 2;
}
#trim-start {
text-spacing-trim: trim-start;
grid-column: 2;
grid-row: 2;
}
Результат
Спецификации
| Спецификация |
|---|
| CSS Text Module Level 4 # text-spacing-trim-property |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
text-spacing-trim |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
normal |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
space-all |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
space-first |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
trim-start |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
См. также
-
icиricединицы - Модуль CSS Text
© 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/text-spacing-trim