<th>: Элемент заголовка таблицы
Базовая реализация Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Элемент <th> HTML определяет ячейку как заголовок группы ячеек таблицы и может использоваться в качестве дочернего элемента элемента <tr>. Точный характер этой группы определяется атрибутами scope и headers.
Попробуйте
Атрибуты
Этот элемент включает глобальные атрибуты.
abbr-
Короткое, сокращенное описание содержимого ячейки заголовка, предоставляющее альтернативную метку для использования в других контекстах при ссылке на ячейку заголовка. Некоторые пользовательские агенты, такие как программы чтения с экрана, могут отобразить это описание перед самим содержимым.
colspan-
Целое неотрицательное значение, указывающее, сколько столбцов охватывает или расширяет ячейка заголовка. Значение по умолчанию равно
1. Пользовательские агенты игнорируют значения, превышающие 1000, как неверные, принимая такие значения по умолчанию как1. headers-
Список разделенных пробелами строк, соответствующих атрибутам
idэлементов<th>, которые предоставляют заголовки для этой ячейки заголовка. rowspan-
Целое неотрицательное значение, указывающее, сколько строк охватывает или расширяет ячейка заголовка. Значение по умолчанию равно
1; если его значение установлено в0, ячейка заголовка будет расширяться до конца раздела группировки таблицы (<thead>,<tbody>,<tfoot>, даже если она определена неявно), к которому относится<th>. Значения, превышающие65534, обрезаются до65534. scope-
Определяет ячейки, к которым относится заголовок (определенный в элементе
<th>). Возможные значения:-
row: заголовок относится ко всем ячейкам строки, к которой он принадлежит; -
col: заголовок относится ко всем ячейкам столбца, к которому он принадлежит; -
rowgroup: заголовок относится к группе строк и относится ко всем её ячейкам; -
colgroup: заголовок относится к группе столбцов и относится ко всем её ячейкам.
Если атрибут
scopeне указан или его значение не равноrow,col,rowgroup, илиcolgroup, браузеры автоматически выбирают набор ячеек, к которому относится ячейка заголовка. -
Устаревшие атрибуты
Следующие атрибуты устарели и не должны использоваться. Они документированы ниже для справки при обновлении существующего кода и только для исторических целей.
-
alignУстарело -
Указывает горизонтальное выравнивание ячейки заголовка. Возможные значения перечисленные —
left,center,right,justify, иchar. При поддержке, значениеcharвыравнивает текстовое содержимое по символу, определенному в атрибутеchar, и смещению, определенному атрибутомcharoff. Используйте CSS-свойствоtext-alignвместо этого атрибута, так как он устарел. -
axisУстарело -
Содержит список разделенных пробелами строк, каждая из которых соответствует атрибуту
idгруппы ячеек, к которым относится ячейка заголовка. Используйте атрибутscopeвместо этого, так как этот атрибут устарел. -
bgcolorУстарело -
Определяет цвет фона ячейки заголовка. Значение представляет собой HTML-цвет; либо 6-значный шестнадцатеричный код RGB, префикс которого — '
#', либо ключевое слово цвета. Другие CSS<color>значения не поддерживаются. Используйте CSS-свойствоbackground-colorвместо этого атрибута, так как он устарел. -
charУстарело -
Не выполняет никаких действий. Изначально предназначался для указания выравнивания содержимого по символу в ячейке заголовка. Типичные значения включают точку (
.) при попытке выравнивания чисел или денежных значений. Еслиalignне установлено вchar, этот атрибут игнорируется. -
charoffУстарело -
Не выполняет никаких действий. Изначально предназначался для указания количества символов для смещения содержимого ячейки заголовка от символа выравнивания, указанного атрибутом
char. -
heightУстарело -
Определяет рекомендуемую высоту ячейки заголовка. Используйте CSS-свойство
heightвместо этого атрибута, так как он устарел. -
valignУстарело -
Указывает вертикальное выравнивание ячейки заголовка. Возможные значения перечисленные —
baseline,bottom,middle, иtop. Используйте CSS-свойствоvertical-alignвместо этого атрибута, так как он устарел. -
widthУстарело -
Определяет рекомендуемую ширину ячейки заголовка. Используйте CSS-свойство
widthвместо этого атрибута, так как он устарел.
Примечания по использованию
- Этот элемент
<th>может использоваться только внутри элемента<tr>. - В простых контекстах использование атрибута
scopeв ячейках заголовка (элементы<th>) избыточно, так какscopeподразумевается. Однако некоторые программы для помощи людям с ограниченными возможностями могут неверно подразумевать его, поэтому указание области заголовка может улучшить пользовательский опыт. - При использовании атрибутов
colspanиrowspanдля объединения ячеек заголовка по нескольким столбцам и строкам, ячейки без указанных атрибутов (с значением по умолчанию1) автоматически подстраиваются под свободные места в структуре таблицы, занимая 1x1 ячейку, как показано на рисунке ниже:Примечание: Эти атрибуты не должны использоваться для перекрытия ячеек.
Примеры
См. <table> для примера полной таблицы, демонстрирующей общие стандарты и рекомендации по практике.
Основные заголовки столбцов и строк
В этом примере используются элементы <th> для введения заголовков столбцов и строк в базовой структуре таблицы.
HTML
Первая строка (<tr> элемент) содержит заголовки столбцов (<th> элементы), которые служат "заголовками" для столбцов, чтобы упростить понимание информации в столбцах и идентификацию данных. Чтобы указать, что каждый заголовок столбца относится ко всем ячейкам в соответствующем столбце, атрибут scope устанавливается в значение col (столбец).
Остальные строки содержат основные данные таблицы. Каждая из этих строк имеет заголовок строки (<th> элемент), представленный в первой ячейке. Это создаёт столбец с заголовками строк в качестве первого столбца таблицы. Аналогично заголовкам столбцов, атрибут scope устанавливается в значение row для указания, к каким ячейкам относится каждый заголовок строки, а в данном примере это все ячейки данных (<td> элементы) в каждой row.
Примечание: Обычно для группировки строк с заголовками используются элементы <thead> и <tbody>, помещая их в соответствующие разделы таблицы (заголовок и тело). Эти элементы опущены в данном примере для уменьшения сложности и концентрации на использовании ячеек заголовков.
<table> <tr> <th scope="col">Symbol</th> <th scope="col">Code word</th> <th scope="col">Pronunciation</th> </tr> <tr> <th scope="row">A</th> <td>Alfa</td> <td>AL fah</td> </tr> <tr> <th scope="row">B</th> <td>Bravo</td> <td>BRAH voh</td> </tr> <tr> <th scope="row">C</th> <td>Charlie</td> <td>CHAR lee</td> </tr> <tr> <th scope="row">D</th> <td>Delta</td> <td>DELL tah</td> </tr> </table>
CSS
Для стилизации таблицы и её ячеек используется несколько основных правил CSS. Мы используем CSS селекторы атрибутов, чтобы выбрать ячейки заголовков на основе значений их атрибутов scope, выделяя заголовки столбцов и строк (<th> элементы) и разделяя их друг от друга и от ячеек данных (<td>).
th, td { border: 1px solid rgb(160 160 160); padding: 8px 10px; } th[scope="col"] { background-color: #505050; color: #fff; } th[scope="row"] { background-color: #d6ecd4; } tr:nth-of-type(odd) td { background-color: #eee; }
Результат
Объединение столбцов и строк
Этот пример расширяет и дополняет базовую таблицу из предыдущего примера, добавив вторую строку для дополнительных заголовков столбцов.
HTML
В качестве второй строки заголовков таблицы добавлена дополнительная строка таблицы (<tr> элемент) с двумя дополнительными заголовками столбцов (<th> элементы). Таким образом, столбец "Произношение" разделен на два столбца: один для обозначения МФА (Международного фонетического алфавита) и один для транскрипции (оригинальный столбец произношения). Соответствующие ячейки данных (<td> элементы) добавляются в каждую последующую строку.
Как показано в примечаниях к использованию, атрибуты colspan и rowspan могут использоваться для элементов <th> для распределения ячеек заголовков по правильным столбцам и строкам. Чтобы получить "двухстрочный" заголовок в структуре таблицы, первые две ячейки заголовков в первом элементе <tr> охватывают две строки. Третья ячейка заголовка охватывает два столбца (оставаясь в первой строке). Эта настройка оставляет две доступные области в третьем и четвёртом столбцах во второй строке, где автоматически размещаются два заголовка в элементе <tr> со значениями по умолчанию 1 для атрибутов colspan и rowspan.
Примечание: Обычно для группировки строк с заголовками используются элементы <thead> и <tbody>, помещая их в соответствующие разделы таблицы (заголовок и тело). Этот метод не используется в данном примере для акцентирования внимания на заголовках, объединении и уменьшении сложности примера.
<table> <tr> <th scope="col" rowspan="2">Symbol</th> <th scope="col" rowspan="2">Code word</th> <th scope="col" colspan="2">Pronunciation</th> </tr> <tr> <th scope="col">IPA</th> <th scope="col">Respelling</th> </tr> <tr> <th scope="row">A</th> <td>Alfa</td> <td>ˈælfa</td> <td>AL fah</td> </tr> <tr> <th scope="row">B</th> <td>Bravo</td> <td>ˈbraːˈvo</td> <td>BRAH voh</td> </tr> <tr> <th scope="row">C</th> <td>Charlie</td> <td>ˈtʃɑːli</td> <td>CHAR lee</td> </tr> <tr> <th scope="row">D</th> <td>Delta</td> <td>ˈdeltɑ</td> <td>DELL tah</td> </tr> </table>
CSS
CSS не изменён по сравнению с предыдущим примером .
Результат
Связывание ячеек заголовков с другими ячейками заголовков
Для более сложных взаимосвязей между ячейками заголовков, использование элементов th с атрибутом scope может оказаться недостаточным для программных средств вспомогательных технологий, особенно для программ чтения с экрана.
HTML
Для повышения доступности предыдущего примера и для того, чтобы программы чтения с экрана, например, могли озвучить заголовки, связанные с каждой ячейкой заголовка, атрибут headers может быть использован наряду с атрибутами id. Ввиду того, как столбец "Произношение" разделен на два столбца в данном примере (добавление "двухстрочного" заголовка), программы вспомогательных технологий, такие как программы чтения с экрана, могут не определить, к каким дополнительным ячейкам заголовка (th элементы) относится ячейка заголовка "Произношение", и наоборот. Поэтому используется атрибут headers для ячеек заголовков "Произношение", "МФА" и "Транскрипция", чтобы связать соответствующие ячейки заголовков на основе значений уникальных идентификаторов, добавленных атрибутов id в виде списка, разделённого пробелами.
Примечание: Рекомендуется использовать более описательные и полезные значения для атрибута id. Каждый id в документе должен быть уникальным для этого документа. В этом примере значения id являются одиночными символами для сохранения фокуса на концепции атрибута headers.
<table> <tr> <th scope="col" rowspan="2">Symbol</th> <th scope="col" rowspan="2">Code word</th> <th scope="col" colspan="2" id="p" headers="i r">Pronunciation</th> </tr> <tr> <th scope="col" id="i" headers="p">IPA</th> <th scope="col" id="r" headers="p">Respelling</th> </tr> <tr> <th scope="row">A</th> <td>Alfa</td> <td>ˈælfa</td> <td>AL fah</td> </tr> <tr> <th scope="row">B</th> <td>Bravo</td> <td>ˈbraːˈvo</td> <td>BRAH voh</td> </tr> <tr> <th scope="row">C</th> <td>Charlie</td> <td>ˈtʃɑːli</td> <td>CHAR lee</td> </tr> <tr> <th scope="row">D</th> <td>Delta</td> <td>ˈdeltɑ</td> <td>DELL tah</td> </tr> </table>
Результат
Визуальный результат не изменён по сравнению с предыдущей таблицей примера .
Техническое описание
| Категории контента | Нет. |
|---|---|
| Разрешенный контент | Потоковый контент, но без заголовков, подвалов, разделяющего контента или заголовков в качестве потомков. |
| Пропуск тега | Начальный тег обязателен. Конечный тег может быть пропущен, если за ним сразу следует элемент <th> или <td>, или если в родительском элементе больше нет данных. |
| Разрешенные родительские элементы | Элемент <tr>. |
| Неявная роль ARIA |
columnheader или rowheader
|
| Разрешенные роли ARIA | Любые |
| Интерфейс DOM | HTMLTableCellElement |
Спецификации
| Спецификация |
|---|
| Стандарт HTML # the-th-element |
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari в IOS | Samsung Internet | WebView Android | |
th |
1 | 12 | 1 | ≤12.1 | 1 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
abbr |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
align |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 |
axis |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
bgcolor |
1 | 12 | 1 | ≤15 | 1 | 18 | 4 | ≤14 | 1 | 1.0 | 4.4 |
char |
1 | 12 | Нет | 15 | ≤4 | 18 | Нет | 14 | ≤3.2 | 1.0 | 4.4 |
charoff |
1 | 12 | 1 | 15 | ≤4 | 18 | 4 | 14 | ≤3.2 | 1.0 | 4.4 |
colspan |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
headers |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
rowspan |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
scope |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
valign |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 |
width |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
См. также
- Учебник: HTML таблицы
-
<caption>,<col>,<colgroup>,<table>,<tbody>,<td>,<tfoot>,<thead>,<tr>: Другие элементы, связанные с таблицами -
background-color: Свойство CSS для установки цвета фона каждой ячейки заголовка -
border: Свойство CSS для управления границами ячеек заголовка -
height: Свойство CSS для управления рекомендуемой высотой ячейки заголовка -
text-align: Свойство CSS для горизонтального выравнивания содержимого каждой ячейки заголовка -
vertical-align: Свойство CSS для вертикального выравнивания содержимого каждой ячейки заголовка -
width: Свойство CSS для управления рекомендуемой шириной ячейки заголовка -
:nth-of-type,:first-of-type,:last-of-type: Псевдоклассы CSS для выбора необходимых ячеек заголовка
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th