Как написать верхний индекс в 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
Для нескольких частых случаев есть готовые символы: ² (²), ³ (³), ¹ (¹), ™ (™) и ½ (½). Тег для них не нужен, и на высоту строки они не влияют, но существуют только для некоторых цифр и букв.
Для настоящих формул (дроби, корни, степени степеней) используйте 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², который также можно ввести сущностью ². Символ подходит для квадратов и кубов; <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>» это разные значения. Используйте теги, когда поднятое или опущенное положение является частью содержимого.