<tbody>: Элемент тела таблицы
Базовая Широко распространенная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Элемент <tbody> HTML encapsulates набор строк таблицы (<tr> elements), указывая, что они составляют тело данных таблицы (основной).
Попробуйте
Атрибуты
Этот элемент включает глобальные атрибуты.
Устаревшие атрибуты
Следующие атрибуты устарели и не должны использоваться. Они документированы ниже для справки при обновлении существующего кода и для исторической справки.
-
alignУстаревший -
Указывает горизонтальное выравнивание каждой ячейки тела. Возможные перечисленные значения —
left,center,right,justify, иchar. При поддержке, значениеcharвыравнивает текстовое содержимое по символу, определенному в атрибутеchar, и смещению, определенному атрибутомcharoff. Используйте свойство CSStext-alignвместо этого атрибута, так как он устарел. -
bgcolorУстаревший -
Определяет цвет фона каждой ячейки тела. Значение — HTML-цвет; либо 6-значный шестнадцатеричный код RGB, префикс которого — '
#', либо ключевое слово цвета. Другие значения CSS<color>не поддерживаются. Используйте свойство CSSbackground-colorвместо этого атрибута, так как он устарел. -
charУстаревший -
Указывает выравнивание содержимого к символу каждой ячейки тела. Типичные значения включают точку (
.) при попытке выравнивания чисел или денежных значений. Еслиalignне установлено вchar, этот атрибут игнорируется. -
charoffУстаревший -
Указывает количество символов смещения содержимого ячейки тела от символа выравнивания, указанного атрибутом
char. -
valignУстаревший -
Указывает вертикальное выравнивание каждой ячейки тела. Возможные перечисленные значения —
baseline,bottom,middle, иtop. Используйте свойство CSSvertical-alignвместо этого атрибута, так как он устарел.
Примечания по использованию
- Элемент
<tbody>располагается после любых элементов<caption>,<colgroup>, и<thead>. - Если элементы
<tr>указаны как непосредственные дочерние элементы элемента<table>(см. «пропуск тега» в техническом резюме для описания, когда это допустимо), то разметка, сгенерированная браузером, будет включать элемент<tbody>, который encapsulates их. В результате, CSS-селекторы, такие какtable > tr, не будут выбирать эти элементы. См. также пример Отсутствие указания тела. - Разрешается использовать более одного элемента
<tbody>в таблице, если они все последовательны. Это позволяет разделить строки (<tr>elements) больших таблиц на секции, каждую из которых можно отдельно форматировать при необходимости. Если они не помечены как последовательные элементы, браузеры исправят эту ошибку автора, гарантируя, что любые элементы<thead>и<tfoot>будут отображаться как первый и последний элементы таблицы соответственно. - Наряду с связанными элементами
<thead>и<tfoot>, элемент<tbody>предоставляет полезную семантическую информацию и может использоваться при отображении как для экрана, так и для печати. Указание таких групп содержимого таблицы также предоставляет ценную контекстную информацию для вспомогательных технологий, включая программы чтения с экрана и поисковые системы. - При печати документа, в случае многостраничной таблицы, элементы
<thead>и<tfoot>обычно указывают информацию, которая остается неизменной — или по крайней мере очень похожей — на каждой странице, в то время как содержимое элемента<tbody>обычно отличается от страницы к странице. - Если таблица отображается на экране (например, в окне), которое недостаточно велико для отображения всей таблицы, пользовательский агент может позволить пользователю прокручивать содержимое блоков
<thead>,<tbody>,<tfoot>и<caption>отдельно друг от друга для одной родительской<table>.
Примеры
См. <table> для примера полной таблицы, в котором представлены общие стандарты и лучшие практики.
Отсутствие указания тела
Этот пример демонстрирует, что браузер автоматически encapsulates элементы <tr> внутри элемента <tbody> , если строки не вложены в элемент группирования таблицы (<tbody>, <tfoot>, или <thead>), а являются, как в этом примере, непосредственными дочерними элементами элемента <table>.
HTML
Здесь создается очень простая таблица со строками таблицы (<tr> elements) с данными (<td> elements) о студентах.
<table> <tr> <td>3741255</td> <td>Jones, Martha</td> <td>Computer Science</td> <td>240</td> </tr> <tr> <td>3971244</td> <td>Nim, Victor</td> <td>Russian Literature</td> <td>220</td> </tr> <tr> <td>4100332</td> <td>Petrov, Alexandra</td> <td>Astrophysics</td> <td>260</td> </tr> </table>
CSS
Обратите внимание на CSS в примере, где задан background-color для элемента <tbody> и используется tbody как часть дополнительного CSS-селектора. В качестве альтернативы, можно использовать инструменты разработчика браузера для проверки наличия элемента <tbody> в DOM.
tbody { background-color: #e4f0f5; } tbody > tr > td:last-of-type { width: 60px; text-align: center; }
Результат
Базовая структура тела
В этом примере расширяется и улучшается базовая таблица из предыдущего примера.
HTML
Мы вводим заголовок таблицы (<thead> элемент) и явно используем элемент <tbody> для структурирования таблицы на семантические разделы. Заголовок таблицы содержит заголовки столбцов (<th> элементы). Элемент <tbody> представляет собой тело таблицы, которое содержит ряд строк (<tr> элементы) с основными данными таблицы, то есть данными каждого студента.
Использование таких группировок контента таблицы и семантической разметки полезно не только для визуального представления (с помощью стилей CSS) и контекстной информации для вспомогательных технологий, но и явное использование элемента <tbody> помогает браузеру создать нужную структуру таблицы, избегая нежелательных результатов.
<table> <thead> <tr> <th>Student ID</th> <th>Name</th> <th>Major</th> <th>Credits</th> </tr> </thead> <tbody> <tr> <td>3741255</td> <td>Jones, Martha</td> <td>Computer Science</td> <td>240</td> </tr> <tr> <td>3971244</td> <td>Nim, Victor</td> <td>Russian Literature</td> <td>220</td> </tr> <tr> <td>4100332</td> <td>Petrov, Alexandra</td> <td>Astrophysics</td> <td>260</td> </tr> </tbody> </table>
CSS
CSS практически не изменился по сравнению с предыдущим примером, за исключением некоторых базовых стилей, чтобы выделить заголовок таблицы, чтобы заголовки столбцов выделялись на фоне данных в теле таблицы. Как и в примере выше, используется tbody тип селектора, чтобы стилизовать ячейки тела.
tbody { background-color: #e4f0f5; } tbody > tr > td:last-of-type { text-align: center; } thead { border-bottom: 2px solid rgb(160 160 160); background-color: #2c5e77; color: #fff; }
Результат
Несколько тел
Этот пример ещё более расширяет и улучшает таблицу из предыдущего примера, введя несколько разделов тела.
Использование нескольких элементов <tbody> позволяет создавать группировки строк в таблице. Каждое тело таблицы потенциально может иметь свою собственную строку или строки заголовка; однако, может быть только один элемент <thead> на одну таблицу! Из-за этого, <tr> со элементами <th> могут быть использованы для создания заголовков в каждом <tbody>.
HTML
Продолжая таблицу из предыдущего базового примера, добавляется больше студентов, и вместо того, чтобы перечислять специальность каждого студента в каждой строке, студенты группируются по специальности. Обратите внимание, что каждая специальность заключена в свой собственный блок <tbody>, а первая строка (<tr> элемент) служит заголовком блока, отображая название специальности в элементе <th>, который использует атрибут colspan для раздела заголовка по всем трём столбцам таблицы. Каждая последующая строка в блоке <tbody> каждой специальности представляет одного студента.
<table> <thead> <tr> <th>Student ID</th> <th>Name</th> <th>Credits</th> </tr> </thead> <tbody> <tr> <th colspan="3">Computer Science</th> </tr> <tr> <td>3741255</td> <td>Jones, Martha</td> <td>240</td> </tr> <tr> <td>4077830</td> <td>Pierce, Benjamin</td> <td>200</td> </tr> <tr> <td>5151701</td> <td>Kirk, James</td> <td>230</td> </tr> </tbody> <tbody> <tr> <th colspan="3">Russian Literature</th> </tr> <tr> <td>3971244</td> <td>Nim, Victor</td> <td>220</td> </tr> </tbody> <tbody> <tr> <th colspan="3">Astrophysics</th> </tr> <tr> <td>4100332</td> <td>Petrov, Alexandra</td> <td>260</td> </tr> <tr> <td>8892377</td> <td>Toyota, Hiroko</td> <td>240</td> </tr> </tbody> </table>
CSS
Большая часть CSS не изменилась. Однако, для ячеек заголовка, находящихся непосредственно в <tbody> (в отличие от тех, что находятся в <thead>) добавлен несколько более тонкий стиль. Это используется для заголовков, указывающих соответствующую специальность каждого раздела таблицы.
tbody > tr > th { border-top: 2px solid rgb(160 160 160); border-bottom: 1px solid rgb(140 140 140); background-color: #e4f0f5; font-weight: normal; } tbody { background-color: whitesmoke; } thead { background-color: #2c5e77; color: #fff; }
Результат
Техническое резюме
| Категории контента | Нет. |
|---|---|
| Разрешенный контент | Ноль или более элементов <tr>. |
| Пропуск тегов | Стартовый тег элемента <tbody> может быть пропущен, если первым элементом внутри элемента <tbody> является элемент <tr>, и если элемент не предшествует непосредственно элементу <tbody>, <thead> или <tfoot>, у которого закрывающий тег был пропущен. (Его нельзя опустить, если элемент пустой). Закрывающего тега элемента <tbody> можно опустить, если элемент <tbody> непосредственно следует за элементом <tbody> или <tfoot>, или если в родительском элементе больше нет контента. |
| Разрешенные родительские элементы | В требуемом родительском элементе <table> элемент <tbody> может быть добавлен после любого элемента <caption>, <colgroup> и <thead>. |
| Неявная роль ARIA | rowgroup |
| Разрешенные роли ARIA | Любые |
| Интерфейс DOM | HTMLTableSectionElement |
Спецификации
| Спецификация |
|---|
| Стандарт HTML # the-tbody-element |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
tbody |
1 | 12 | 1 | ≤12.1 | 1 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
align |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 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 |
valign |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 |
См. также
- Урок: HTML таблицы
-
<caption>,<col>,<colgroup>,<table>,<td>,<tfoot>,<th>,<thead>,<tr>: Другие элементы, относящиеся к таблицам -
background-color: Свойство CSS для установки цвета фона каждой ячейки тела -
border: Свойство CSS для управления рамками ячеек тела -
text-align: Свойство CSS для горизонтального выравнивания содержимого каждой ячейки тела -
vertical-align: Свойство 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/tbody