Menu

Верхний и нижний индекс в HTML: теги sup и sub

Верхний индекс пишут через <sup>, нижний через <sub>: степени, порядковые окончания, сноски и химические формулы. Разберем типичные применения, как не дать им раздвигать строки и когда лучше подходят символы Unicode или MathML.

На этой странице есть исполняемые редакторы: меняйте, запускайте и сразу видите результат.

Как написать верхний индекс в HTML

Оберните поднятый текст в <sup>. Браузер покажет его мельче и выше строки. Его пара <sub> показывает текст мельче и ниже:

<sup> и <sub> строчные и могут содержать другие строчные элементы, поэтому 2<sup>n+1</sup> или x<sub><i>i</i></sub> тоже работают.

Типичные применения

Что нужноКак написатьРезультат
Степень10<sup>3</sup>10 в степени 3
Порядковое числительное2<sup>nd</sup>2nd с поднятыми буквами
Знак сноскиtext<sup><a href="#n1">1</a></sup>Поднятая кликабельная 1
Химическая формулаC<sub>6</sub>H<sub>12</sub>O<sub>6</sub>Глюкоза
Индекс или основаниеx<sub>1</sub>, log<sub>2</sub>Опущенные 1 и 2
Товарный знакBrand<sup>TM</sup> или Brand™Поднятое TM

Используйте теги, когда положение является частью смысла: m<sup>2</sup> и m2 это разные вещи. Для мелкого текста, который просто оформлен мелким (подпись, значок), используйте CSS.

Сноски через sup

Знак сноски это ссылка верхним индексом на примечание внизу. Дайте каждому примечанию id и направьте на него ссылку:

Кликните по номеру, чтобы перейти к примечанию, и по «Back», чтобы вернуться. Если убрать подчеркивание у маленькой ссылки, абзац выглядит аккуратнее, а цвет ссылки все равно показывает, что по ней можно кликнуть.

Ровный межстрочный интервал

По умолчанию <sup> или <sub> может сделать свою строку выше соседних, и абзац с несколькими степенями выглядит неровным. Это исправляет line-height: 0 у этих тегов:

Серый блок выше, потому что вторая и четвертая строки раздвинуты. В зеленом блоке у всех строк одинаковая высота. Добавьте это правило в базовые стили один раз и забудьте о проблеме.

Символы Unicode и MathML

Для нескольких частых случаев есть готовые символы: ² (&sup2;), ³ (&sup3;), ¹ (&sup1;), ™ (&trade;) и ½ (&frac12;). Тег для них не нужен, и на высоту строки они не влияют, но существуют только для некоторых цифр и букв.

Для настоящих формул (дроби, корни, степени степеней) используйте MathML, который современные браузеры отображают сами:

<msup> принимает основание и показатель степени; <msub> делает то же для нижних индексов. Для одной степени в предложении проще <sup>.

Частые ошибки

  • <sup>, чтобы сделать текст мельче. Он еще и поднимает текст и сообщает читателям, что это верхний индекс. Для мелкого текста используйте font-size.
  • Неровный межстрочный интервал. Добавьте sup, sub { line-height: 0; }.
  • x^2 или H2O в готовом тексте. Пишите x<sup>2</sup> и H<sub>2</sub>O, чтобы содержимое читалось правильно.
  • Слишком мелкие знаки сносок. На телефонах одна поднятая цифра это крошечная цель для нажатия. Добавьте sup a немного внутреннего отступа или разместите примечания рядом с текстом.

Часто задаваемые вопросы

Как написать верхний индекс в HTML?

Оберните поднятый текст в <sup>: x<sup>2</sup> показывает x в квадрате, 1<sup>st</sup> порядковое числительное. Браузер рисует текст мельче и выше базовой линии.

Как написать нижний индекс в HTML?

Используйте <sub>: H<sub>2</sub>O для воды, x<sub>1</sub> для индекса. Текст рисуется мельче и ниже базовой линии.

Как написать x в квадрате в HTML?

Либо x<sup>2</sup>, либо готовый символ x², который также можно ввести сущностью &sup2;. Символ подходит для квадратов и кубов; <sup> работает для любой степени, например 2<sup>n+1</sup>.

Почему <sup> делает межстрочный интервал неровным?

Поднятый текст может сделать свою строку выше остальных строк абзаца. Исправьте это правилом sup, sub { line-height: 0; }, и они перестанут добавлять строке высоту.

Можно ли вместо <sup> использовать CSS?

vertical-align: super с уменьшенным font-size выглядит так же, но у <sup> и <sub> есть смысл: «m2» и «m<sup>2</sup>» это разные значения. Используйте теги, когда поднятое или опущенное положение является частью содержимого.

Coddy programming languages illustration

Учитесь программировать с Coddy

НАЧАТЬ