W3docs

Свойство CSS text-underline-position

Используйте CSS-свойство text-underline-position для указания положения подчёркивания элемента. Значения и примеры.

CSS-свойство text-underline-position управляет тем, где проводится линия подчёркивания относительно текста. Оно вступает в силу только тогда, когда подчёркивание уже существует — то есть когда для элемента задано свойство text-decoration (или text-decoration-line) со значением underline. Само по себе text-underline-position никогда не рисует подчёркивание — оно лишь изменяет его положение.

По умолчанию (auto) браузер размещает линию вплотную к алфавитной базовой линии текста. Для большинства латинских символов это выглядит нормально, однако линия может пересекаться с нижними выносными элементами букв g, j, p, q и y. Значение text-underline-position: under опускает линию ниже всех нижних выносных элементов, чтобы она никогда не пересекала их — удобно для листингов кода, математических формул или химических формул, где важен чёткий отступ.

На этой странице рассматриваются синтаксис, все значения, когда и какое из них применять, а также интерактивные примеры.

Когда это применять?

  • Чистые подчёркивания — используйте under, чтобы линия не задевала нижние выносные элементы (p, y, g), а проходила под ними.
  • Аннотирование формул — под математическими или химическими выражениями, где пересечение с базовой линией создало бы неоднозначность.
  • Вертикальный текст — значения left и right указывают, с какой стороны символов проводится линия, когда свойство writing-mode задаёт вертикальное направление.

Свойство text-underline-position поддерживается во всех современных браузерах.

Начальное значениеauto
Применяется кВсем элементам.
НаследуетсяДа.
АнимируетсяНет.
ВерсияCSS3
DOM-синтаксисobject.style.textUnderlinePosition = "under";

Примечание: в JavaScript CSS-свойства с дефисами записываются в camelCase (например, text-underline-position становится textUnderlinePosition).

Синтаксис

Значения CSS text-underline-position

text-underline-position: auto | [ under || left || right ] | initial | inherit;

Ключевое слово auto нельзя комбинировать с другими значениями. Ключевые слова under, left и right можно комбинировать (например, under left), однако left и right взаимоисключают друг друга — можно выбрать только одно из них, при необходимости вместе с under.

Пример свойства text-underline-position:

Пример кода CSS text-underline-position

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        text-decoration: underline;
        text-underline-position: under;
      }
    </style>
  </head>
  <body>
    <h2>Text underline-position property example</h2>
    <p>Lorem Ipsum is simply dummy text...</p>
  </body>
</html>

Результат

Значение under свойства CSS text-underline-position

Пример свойства text-underline-position со значением «under»:

Пример значения under свойства CSS text-underline-position

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        text-decoration: underline;
        text-underline-position: under;
        text-decoration-color: #1c87c9;
        font-size: 25px;
      }
    </style>
  </head>
  <body>
    <h2>Text underline-position property example</h2>
    <p>Lorem Ipsum is simply dummy text...</p>
  </body>
</html>

Пример с вертикальным writing-mode и значением «left»:

В вертикальном тексте значения left и right определяют, с какой стороны символов проходит линия подчёркивания.

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        writing-mode: vertical-rl;
        text-decoration: underline;
        text-underline-position: left;
        font-size: 25px;
      }
    </style>
  </head>
  <body>
    <h2>Vertical text with text-underline-position: left</h2>
    <p>Lorem Ipsum is simply dummy text.</p>
  </body>
</html>

Значения

ЗначениеОписание
autoПо умолчанию. Браузер использует собственный алгоритм для размещения линии у алфавитной базовой линии или чуть ниже неё.
underПринудительно опускает подчёркивание ниже содержимого текста, чтобы оно не пересекало нижние выносные элементы букв g, p и y.
leftВ вертикальном режиме writing-mode размещает подчёркивание с левой стороны текста. В горизонтальном тексте игнорируется.
rightВ вертикальном режиме writing-mode размещает подчёркивание с правой стороны текста. В горизонтальном тексте игнорируется.
initialУстанавливает для свойства значение по умолчанию (auto).
inheritНаследует значение свойства от родительского элемента.

Связанные свойства

  • text-decoration — сокращённое свойство, которое непосредственно рисует линию (text-underline-position лишь изменяет её положение).
  • text-decoration-line — выбор типа линии: underline, overline или line-through.
  • text-decoration-color — задаёт цвет подчёркивания.
  • text-decoration-style — стиль линии: сплошная, пунктирная, точечная, двойная или волнистая.

Практика

Практика
Какое утверждение о text-underline-position верно?
Какое утверждение о text-underline-position верно?
Was this page helpful?