dominant-baseline
Базовый уровень Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с июля 2020 года.
Атрибут dominant-baseline задаёт доминирующую базовую линию, которая используется для выравнивания текста и строчных элементов содержимого блока. Он также указывает базовую линию выравнивания по умолчанию для любых блоков, участвующих в выравнивании по базовой линии в контексте выравнивания блока.
Он используется для определения или повторного определения таблицы базовых линий с масштабированием. Таблица базовых линий с масштабированием — это составное значение из трёх компонентов:
- идентификатор базовой линии для доминирующей базовой линии,
- таблица базовых линий и
- размер шрифта таблицы базовых линий.
Некоторые значения свойства повторно определяют все три значения. Другие лишь повторно задают размер шрифта таблицы базовых линий. Если начальное значение auto приводит к нежелательному результату, это свойство можно использовать, чтобы явно задать требуемую таблицу базовых линий с масштабированием.
Если в основном шрифте нет таблицы базовых линий или в ней отсутствует запись для требуемой базовой линии, браузер может использовать эвристики для определения положения требуемой базовой линии.
Примечание: Как атрибут представления, dominant-baseline также имеет соответствующее свойство CSS: dominant-baseline. Если заданы оба варианта, приоритет имеет свойство CSS.
Этот атрибут можно использовать со следующими SVG-элементами:
Пример
<svg viewBox="0 0 200 120" xmlns="http://www.w3.org/2000/svg"> <path d="M20,20 L180,20 M20,50 L180,50 M20,80 L180,80" stroke="grey" /> <text dominant-baseline="auto" x="30" y="20">Auto</text> <text dominant-baseline="middle" x="30" y="50">Middle</text> <text dominant-baseline="hanging" x="30" y="80">Hanging</text> </svg>
Примечания по использованию
| Значение | auto | text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top |
|---|---|
| Значение по умолчанию | auto |
| Анимируемое | дискретно |
auto-
Если это свойство задано для элемента
<text>, вычисленное значение зависит от значения атрибутаwriting-mode.Если
writing-mode— горизонтальный, значение компонента доминирующей базовой линии равноalphabetic. Если жеwriting-mode— вертикальный, значение компонента доминирующей базовой линии равноcentral.Если это свойство задано для элемента
<tspan>или<textPath>, компоненты доминирующей базовой линии и таблицы базовых линий остаются такими же, как у родительского элемента текстового содержимого.Если вычисленное значение
baseline-shiftфактически смещает базовую линию, компонент размера шрифта таблицы базовых линий получает значение атрибутаfont-sizeэлемента, для которого задан атрибутdominant-baseline; в противном случае размер шрифта таблицы базовых линий остаётся таким же, как у этого элемента.Если родительского элемента текстового содержимого нет, значение таблицы базовых линий с масштабированием формируется так же, как описано выше для элементов
<text>. use-scriptУстарело-
Компоненты доминирующей базовой линии и таблицы базовых линий задаются на основе определения преобладающей письменности в символьных данных содержимого. Атрибут
writing-mode— горизонтальный или вертикальный — используется для выбора подходящего набора таблиц базовых линий, а доминирующая базовая линия — для выбора соответствующей ей таблицы. Компонент размера шрифта таблицы базовых линий получает значение атрибутаfont-sizeэлемента, для которого задан атрибутdominant-baseline. no-changeУстарело-
Доминирующая базовая линия, таблица базовых линий и размер шрифта таблицы базовых линий остаются такими же, как у родительского элемента текстового содержимого.
reset-sizeУстарело-
Доминирующая базовая линия и таблица базовых линий остаются прежними, но размер шрифта таблицы базовых линий меняется на значение атрибута
font-sizeэтого элемента. Это изменяет масштаб таблицы базовых линий в соответствии с текущим значениемfont-size. ideographic-
Идентификатор базовой линии для доминирующей базовой линии задаётся как
ideographic, производная таблица базовых линий строится с использованием таблицы базовых линийideographicиз шрифта, а размер шрифта таблицы базовых линий меняется на значение атрибутаfont-sizeэтого элемента. alphabetic-
Идентификатор базовой линии для доминирующей базовой линии задаётся как
alphabetic, производная таблица базовых линий строится с использованием таблицы базовых линийalphabeticиз шрифта, а размер шрифта таблицы базовых линий меняется на значение атрибутаfont-sizeэтого элемента. hanging-
Идентификатор базовой линии для доминирующей базовой линии задаётся как
hanging, производная таблица базовых линий строится с использованием таблицы базовых линийhangingиз шрифта, а размер шрифта таблицы базовых линий меняется на значение атрибутаfont-sizeэтого элемента. mathematical-
Идентификатор базовой линии для доминирующей базовой линии задаётся как
mathematical, производная таблица базовых линий строится с использованием таблицы базовых линийmathematicalиз шрифта, а размер шрифта таблицы базовых линий меняется на значение атрибутаfont-sizeэтого элемента. central-
Идентификатор базовой линии для доминирующей базовой линии задаётся как
central. Производная таблица базовых линий строится из определённых базовых линий в таблице базовых линий шрифта. Эта таблица выбирается в следующем порядке приоритета имён таблиц базовых линий:ideographic,alphabetic,hanging,mathematical. Размер шрифта таблицы базовых линий меняется на значение атрибутаfont-sizeэтого элемента. middle-
Идентификатор базовой линии для доминирующей базовой линии задаётся как
middle. Производная таблица базовых линий строится из определённых базовых линий в таблице базовых линий шрифта. Эта таблица выбирается в следующем порядке приоритета имён таблиц базовых линий:alphabetic,ideographic,hanging,mathematical. Размер шрифта таблицы базовых линий меняется на значение атрибутаfont-sizeэтого элемента. text-after-edge-
Идентификатор базовой линии для доминирующей базовой линии задаётся как
text-after-edge. Производная таблица базовых линий строится из определённых базовых линий в таблице базовых линий шрифта. Выбор таблицы базовых линий шрифта зависит от браузера. Размер шрифта таблицы базовых линий меняется на значение атрибутаfont-sizeэтого элемента. text-before-edge-
Идентификатор базовой линии для доминирующей базовой линии задаётся как
text-before-edge. Производная таблица базовых линий строится из определённых базовых линий в таблице базовых линий шрифта. Выбор таблицы базовых линий зависит от браузера. Размер шрифта таблицы базовых линий меняется на значение атрибутаfont-sizeэтого элемента. text-top-
Это значение использует верхнюю границу em-блока в качестве базовой линии.
SVG
<svg
width="400"
height="300"
viewBox="0 0 300 300"
xmlns="http://www.w3.org/2000/svg">
<!-- Materialization of anchors -->
<path
d="M60,20 L60,270
M30,20 L400,20
M30,70 L400,70
M30,120 L400,120
M30,170 L400,170
M30,220 L400,220
M30,270 L400,270"
stroke="grey" />
<!-- Anchors in action -->
<text dominant-baseline="auto" x="70" y="20">auto</text>
<text dominant-baseline="middle" x="70" y="70">middle</text>
<text dominant-baseline="hanging" x="70" y="170">hanging</text>
<text dominant-baseline="mathematical" x="70" y="220">mathematical</text>
<text dominant-baseline="text-top" x="70" y="270">text-top</text>
<!-- Materialization of anchors -->
<circle cx="60" cy="20" r="3" fill="red" />
<circle cx="60" cy="70" r="3" fill="red" />
<circle cx="60" cy="120" r="3" fill="red" />
<circle cx="60" cy="170" r="3" fill="red" />
<circle cx="60" cy="220" r="3" fill="red" />
<circle cx="60" cy="270" r="3" fill="red" />
<style>
<![CDATA[
text {
font: bold 30px Verdana, Helvetica, Arial, sans-serif;
}
]]>
</style>
</svg>
Результат
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
dominant-baseline |
≤80 | ≤80 | ≤72 | ≤67 | ≤13.1 | ≤80 | ≤79 | ≤57 | ≤13.4 | ≤13.0 | ≤80 | ≤13.4 |
См. также
- Свойство CSS
dominant-baseline
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/dominant-baseline