Spec-Zone.ru › CSS

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

Spec-Zone.ru

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