Тег sup в HTML: верхний индекс для степеней, единиц и сносок

Тег sup поднимает текст выше строки и делает его мельче: так пишут степени, например x2, единицы вроде м2 и номера сносок. Название - от английского superscript, «верхний индекс», отсюда и «расшифровка» sup. Тег парный, закрывающий обязателен, из атрибутов работают только глобальные. Он входит в стандарт HTML и не устарел. Зеркальный тег sub опускает текст ниже строки: формулы и индексы переменных разобраны на его странице.

HTML
<p>Площадь комнаты: 18 м<sup>2</sup>.</p>

Степени, единицы и порядковые числа

Верхний индекс описывает то, что по правилам типографики пишут выше строки: показатель степени, единицу площади или объёма, порядковое число в английском. Справочник MDN добавляет языковые сокращения вроде Mlle во французском. По-русски порядковое число принято писать через дефис и без индекса: 5-й.

ЗаписьРазметкаЧто означает
18 м218 м<sup>2</sup>Площадь: метры в квадрате
x2<var>x</var><sup>2</sup>Степень переменной, переменную отмечает var
10-610<sup>-6</sup>Отрицательная степень
5th5<sup>th</sup>Порядковое число в английском

Для английского текста внутри русской страницы полезно задать язык атрибутом lang: он помогает программам чтения с экрана выбрать произношение.

HTML
<p lang="en">Our office is on the 5<sup>th</sup> floor.</p>

Верхний индекс нужен, когда он часть записи: без него «x2» читается как «икс два», а «м2» - как «эм два». Размер, вложенность и раздвигание строк у sup такие же, как у sub: они разобраны на странице sub.

Сноска: от номера до примечания

Сноска состоит из номера в тексте и примечания внизу. Номер оформляют как ссылку внутри sup, а у примечания прописывают id, на который ведёт ссылка. Обратная ссылка в примечании возвращает читателя туда, где он остановился.

HTML
<p>Цена указана на 1 июня<sup><a href="#note1" id="ref1">1</a></sup>.</p>

<p id="note1">1. Цена может измениться. <a href="#ref1">Вернуться к тексту</a></p>

Пример: сноска и область нажатия

Результат

Нажмите на номер 1: примечание подсветится, а ссылка в нём подсветит предложение. Две кнопки над текстом включают отступ у ссылки, красная рамка показывает область нажатия, ниже подписана её ширина в пикселях.

Есть подводный камень: ссылка внутри sup получается узкой, по ширине почти одной цифры, и попасть в неё пальцем на телефоне трудно. Горизонтальный отступ у ссылки расширяет область нажатия и не меняет высоту строки.

CSS
sup a {
  padding: 0 0.3em;
}

Что останется при копировании

Индекс остаётся обычными символами и при копировании склеивается с основным текстом. Особенно это заметно у степеней: пять в квадрате становится числом пятьдесят два.

Пример: что останется без индекса

Результат

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

Отсюда правило: смысл записи не должен зависеть только от положения символа. Для степени напишите словами рядом: «5 в квадрате». У элемента sup есть роль superscript, но программы чтения с экрана её, по словам Доки , пока не озвучивают. Мы озвучивание в NVDA, JAWS и VoiceOver не проверяли. Для сложных формул MDN советует MathML.

Когда текст нужно поднять только для вида

Иногда слово поднимают ради оформления: в логотипе, в названии продукта. Смысла «верхний индекс» здесь нет, и MDN прямо советует CSS вместо тега.

HTML
<p>Логотип: <span class="high">М</span>аркет</p>
CSS
.high {
  font-size: 0.75em;
  vertical-align: 0.4em;
}

Свойство vertical-align поднимает текст выше базовой линии, то есть линии, на которой находятся буквы. Значение в em считается от размера самого текста: 0,4 - это 40% от него.

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

Большинство ошибок с этим тегом сводится к одной привычке: считать его кнопкой «поднять выше».

ОшибкаЧто происходитКак исправить
Степень написана обычными цифрами: x2Запись читается как «икс два», а не «икс в квадрате»Обернуть показатель в sup
Степень без пояснения словамиПри копировании «52» превращается в «52»Дописать словами: «5 в квадрате»
Ссылка на сноску не расширенаНомер шириной в одну цифру трудно нажать на телефонеОтступ padding: 0 0.3em у ссылки
Порядковое число в русском тексте в sup: 5йПо-русски порядковое число принято писать без индексаПисать через дефис: 5-й
sup ради логотипа или видаТег обещает «верхний индекс», а там просто оформлениеspan с классом и vertical-align
sup на слово или фразуСмысл «индекс» пропадает, читать поднятый текст тяжелоОставить sup для короткого индекса
Категория
Поделиться в социальных сетях

Отправить комментарий

0 Комментарии

Отправить комментарий (0)

#buttons=(Хорошо) #days=(20)

Мы используем файлы cookie для улучшения работы сайта. Подробнее
Хорошо
×