CSS-свойство `baseline-shift`
Базовая линия Недавно стало доступно
Эта функция работает на последних устройствах и в последних версиях браузеров. Она может не работать на старых устройствах или в старых версиях браузеров. Она доступна во всех браузерах с марта 2026 года.
Свойство baseline-shift CSS перемещает доминирующую базовую линию текстового элемента относительно доминирующей базовой линии родительского элемента текстового содержимого. Перемещённый элемент может быть подстрочным или надстрочным индексом. Если это свойство задано, его значение переопределяет атрибут baseline-shift элемента.
Примечание: Свойство baseline-shift применяется только к элементам <textPath> и <tspan>, вложенным в <svg>. Оно не применяется к другим элементам SVG, HTML или псевдоэлементам.
Синтаксис
/* <length-percentage> values */ baseline-shift: -0.5px; baseline-shift: 4%; /* keyword values */ baseline-shift: sub; baseline-shift: super; /* Global values */ baseline-shift: inherit; baseline-shift: initial; baseline-shift: revert; baseline-shift: revert-layer; baseline-shift: unset;
Значения
-
sub - Доминирующая базовая линия смещается в стандартное положение для подстрочных индексов.
-
super - Доминирующая базовая линия смещается в стандартное положение для надстрочных индексов.
-
<length-percentage> - Поднимает (если значение положительное) или опускает (если значение отрицательное) доминирующую базовую линию элемента текстового содержимого на указанную длину или процент. Процент рассчитывается относительно
line-heightродительского элемента текстового содержимого.
Формальное определение
| Начальное значение | 0 |
|---|---|
| Применяется к | строчным блокам и элементам текстового содержимого SVG |
| Наследуется | нет |
| Проценты | относительно используемого значения line-height
|
| Вычисленное значение | указанное ключевое слово или вычисленное значение <length-percentage> |
| Тип анимации | по типу вычисленного значения |
Формальный синтаксис
baseline-shift = <length-percentage> | sub | super | baseline <length-percentage> = <length> | <percentage>
Примеры
Использование ключевых слов в качестве значений
В этом примере показано базовое использование ключевых слов sub и super для свойства baseline-shift, а также то, как свойство CSS baseline-shift имеет приоритет над атрибутом SVG baseline-shift.
HTML
Мы задаём SVG с двумя элементами SVG <text>, каждый из которых содержит элемент <tspan> с заданным для него атрибутом SVG baseline-shift.
<p>Original SVG</p>
<svg viewBox="0 0 500 120" xmlns="http://www.w3.org/2000/svg">
<text x="10" y="50">
Ceci
<tspan baseline-shift="super">n'est pas</tspan>
une pipe super!
</text>
<text x="10" y="90">
Ceci
<tspan baseline-shift="sub">n'est pas</tspan>
une pipe sub!
</text>
</svg>
<p><code>baseline-shift: sub;</code></p>
<svg viewBox="0 0 500 120" xmlns="http://www.w3.org/2000/svg">
<text x="10" y="50">
Ceci
<tspan baseline-shift="super">n'est pas</tspan>
une pipe super!
</text>
<text x="10" y="90">
Ceci
<tspan baseline-shift="sub">n'est pas</tspan>
une pipe sub!
</text>
</svg>
<p><code>baseline-shift: super;</code></p>
<svg viewBox="0 0 500 120" xmlns="http://www.w3.org/2000/svg">
<text x="10" y="50">
Ceci
<tspan baseline-shift="super">n'est pas</tspan>
une pipe super!
</text>
<text x="10" y="90">
Ceci
<tspan baseline-shift="sub">n'est pas</tspan>
une pipe sub!
</text>
</svg>
SVG повторяется три раза; для краткости показана только одна копия.
CSS
Мы задаём крупный курсивный шрифт для текста во всех трёх изображениях SVG и добавляем немного цвета, чтобы различать содержимое элементов <tspan>.
Мы задаём значение свойства baseline-shift равным sub для элемента <tspan> второй SVG и super для элемента <tspan> третьего SVG. Для первого SVG дополнительные стили CSS не задаются.
text {
font-family: cursive;
font-size: 2rem;
}
[baseline-shift="sub"] {
fill: deeppink;
}
[baseline-shift="super"] {
fill: rebeccapurple;
}
svg:nth-of-type(2) tspan {
baseline-shift: sub;
}
svg:nth-of-type(3) tspan {
baseline-shift: super;
}
svg {
border: 1px solid;
width: 15em;
margin-bottom: 10px;
}
@supports not (baseline-shift: sub) {
body::before {
content: "Your browser doesn't support the `baseline-shift` property.";
background-color: wheat;
display: block;
text-align: center;
padding: 1rem 0;
}
}
Результаты
В первом SVG используются значения атрибута SVG baseline-shift. Во втором и третьем SVG значения CSS baseline-shift переопределяют значения атрибута.
Спецификации
| Спецификация |
|---|
| Модуль встраиваемой компоновки CSS уровня 3 # baseline-shift-property |
| Масштабируемая векторная графика (SVG) 2 # BaselineShiftProperty |
Совместимость с браузерами
| Компьютер | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
baseline-shift |
1 |
79 |
149 |
15 |
4 |
18 |
149 |
14 |
3.2 |
1.0 |
4.4 |
3.2 |
baseline |
1 |
79 |
Нет |
15 |
4 |
18 |
Нет |
14 |
3.2 |
1.0 |
4.4 |
3.2 |
bottom |
Нет |
Нет |
149 |
Нет |
Нет |
Нет |
149 |
Нет |
Нет |
Нет |
Нет |
Нет |
center |
Нет |
Нет |
149 |
Нет |
Нет |
Нет |
149 |
Нет |
Нет |
Нет |
Нет |
Нет |
sub |
1 |
79 |
149 |
15 |
4 |
18 |
149 |
14 |
3.2 |
1.0 |
4.4 |
3.2 |
super |
1 |
79 |
149 |
15 |
4 |
18 |
149 |
14 |
3.2 |
1.0 |
4.4 |
3.2 |
top |
Нет |
Нет |
149 |
Нет |
Нет |
Нет |
149 |
Нет |
Нет |
Нет |
Нет |
Нет |
См. также
- Атрибут SVG
baseline-shift - Свойства представления:
baseline-shift,clip-rule,color-interpolation-filters,fill-opacity,fill-rule,fill,marker-end,marker-mid,marker-start,shape-rendering,stop-color,stop-opacity,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,text-anchorиvector-effect
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/baseline-shift