Поиск…
Вступление
Элемент HTML <table> позволяет веб-авторам отображать табличные данные (например, текст, изображения, ссылки, другие таблицы и т. Д.) В двумерной таблице со строками и столбцами ячеек.
Синтаксис
-
<table></table> -
<thead></thead> -
<tbody></tbody> -
<tfoot></tfoot> -
<tr></tr> -
<th></th> -
<td></td>
замечания
Различные элементы таблицы и их атрибуты содержимого вместе определяют модель таблицы. Элемент <table> - это элемент контейнера для табличных моделей / табличных данных. Таблицы содержат строки, столбцы и ячейки, данные их потомками. Строки и столбцы образуют сетку; ячейки таблицы должны полностью покрывать эту сетку без перекрытия. В приведенном ниже списке описаны различные элементы таблицы:
-
<table>- Элемент контейнера для табличных моделей / табличных данных.<table>представляет данные с более чем одним измерением в виде таблицы. -
<caption>- заголовок или заголовок таблицы (какfigcaptionкfigure) -
<col>- столбец (элемент без содержимого) -
<colgroup>- группировка столбцов -
<thead>- Заголовок таблицы (только один) -
<tbody>- Тело / содержимое таблицы (несколько в порядке) -
<tfoot>-<tfoot>колонтитул стола (только один) -
<tr>- Таблица строк -
<th>- ячейка заголовка таблицы -
<td>- ячейка данных таблицы
Семантически таблицы предназначены для хранения табличных данных. Вы можете думать об этом как о способе отображения и описания данных, которые имели бы смысл в электронной таблице (столбцах и строках).
Использование таблиц для макета не рекомендуется. Вместо этого используйте правила CSS для макета и форматирования, включая display: table .
Одно замечательное исключение, обычно отображаемое в отрасли относительно использования макета <table> относится к электронной почте HTML: некоторые почтовые клиенты, включая Outlook, откатываются назад к более старым механизмам рендеринга после того, как Microsoft потеряет свое монопольное дело против ЕС. Для того, чтобы Microsoft не включила IE в ОС, они просто отбросили механизм рендеринга Outlook к более ранней версии Trident. Этот откат просто не поддерживает современные веб-технологии, поэтому использование макетов на основе <table> для электронной почты HTML - единственный способ обеспечить совместимость между браузерами и платформой / клиентом.
Простая таблица
<table>
<tr>
<th>Heading 1/Column 1</th>
<th>Heading 2/Column 2</th>
</tr>
<tr>
<td>Row 1 Data Column 1</td>
<td>Row 1 Data Column 2</td>
</tr>
<tr>
<td>Row 2 Data Column 1</td>
<td>Row 2 Data Column 2</td>
</tr>
</table>
Это приведет к тому, что <table> состоит из трех полных строк ( <tr> ): одна строка ячеек заголовка ( <th> ) и две строки ячеек содержимого ( <td> ). <th> - это табличные заголовки, а <td> - табличные данные . Вы можете поместить все, что хотите, внутри <td> или <th> .
| Заголовок 1 / Столбец 1 | Заголовок 2 / Столбец 2 |
|---|---|
| Строка данных 1-го столбца 1 | Строка данных 1-го столбца 2 |
| Строка данных 2 строки 1 | Строка данных 2 строки 2 |
Закрепление столбцов или строк
Ячейки таблицы могут охватывать несколько столбцов или строк, используя атрибуты colspan и rowspan . Эти атрибуты могут быть применены к элементам <th> и <td> .
<table>
<tr>
<td>row 1 col 1</td>
<td>row 1 col 2</td>
<td>row 1 col 3</td>
</tr>
<tr>
<td colspan="3">This second row spans all three columns</td>
</tr>
<tr>
<td rowspan="2">This cell spans two rows</td>
<td>row 3 col 2</td>
<td>row 3 col 3</td>
</tr>
<tr>
<td>row 4 col 2</td>
<td>row 4 col 3</td>
</tr>
</table>
Обратите внимание, что вам не следует создавать таблицу, в которой как строки, так и столбцы перекрываются, поскольку это недопустимый HTML, и результат обрабатывается по-разному разными веб-браузерами.
rowspan = неотрицательное целое число, определяющее количество строк, натянутых на ячейку. Значение по умолчанию этого атрибута равно 1 ( 1 ). Значение 0 ( 0 ) означает, что ячейка будет продолжаться от текущей строки до последней строки таблицы ( <thead> , <tbody> или <tfoot> ).
colspan = неотрицательное целое число, определяющее количество столбцов, отнесенных текущей ячейкой. Значение по умолчанию этого атрибута равно 1 ( 1 ). Значение 0 ( 0 ) означает, что ячейка будет продолжаться от текущего до последнего столбца группы столбцов <colgroup> в которой определена ячейка.
Таблица с темой, tbody, tfoot и заголовком
HTML также таблицы с <thead> , <tbody> , <tfoot> и <caption> элементы. Эти дополнительные элементы полезны для добавления семантического значения в ваши таблицы и для обеспечения места для отдельного стили CSS.
При распечатке таблицы, которая не помещается на одну (бумажную) страницу, большинство браузеров повторяют содержимое <thead> на каждой странице.
Есть определенный порядок, которому нужно придерживаться, и мы должны знать, что не каждый элемент встает на свои места, как можно было бы ожидать. Следующий пример демонстрирует, как должны быть размещены наши 4 элемента.
<table>
<caption>Table Title</caption> <!--| caption is the first child of table |-->
<thead> <!--======================| thead is after caption |-->
<tr>
<th>Header content 1</th>
<th>Header content 2</th>
</tr>
</thead>
<tbody> <!--======================| tbody is after thead |-->
<tr>
<td>Body content 1</td>
<td>Body content 2</td>
</tr>
</tbody>
<tfoot><!--| tfoot can be placed before or after tbody, but not in a group of tbody. |--> <!--| Regardless where tfoot is in markup, it's rendered at the bottom. |-->
<tr>
<td>Footer content 1</td>
<td>Footer content 2</td>
</tr>
</tfoot>
</table>
Результаты следующего примера демонстрируются дважды: в первой таблице отсутствуют стили, вторая таблица имеет несколько примененных свойств CSS: background-color , color и border *. Стили представлены в виде визуального руководства и не являются существенным аспектом данной темы.
| Элемент | Стили |
|---|---|
<caption> | Желтый текст на черном фоне. |
<thead> | Полужирный текст на фиолетовом фоне. |
<tbody> | Текст на синем фоне. |
<tfoot> | Текст на зеленом фоне. |
<th> | Оранжевые границы. |
<td> | Красные границы. |
Группы столбцов
Иногда вы можете применить стиль к столбцу или группе столбцов. Или для семантических целей вы можете группировать столбцы вместе. Для этого используйте <colgroup> и <col> .
Дополнительный <colgroup> позволяет группировать столбцы вместе. <colgroup> должны быть дочерними элементами <table> и должны появляться после любых элементов <caption> и перед любым содержимым таблицы (например, <tr> , <thead> , <tbody> и т. д.).
<table>
<colgroup span="2"></colgroup>
<colgroup span="2"></colgroup>
...
</table>
Дополнительный <col> позволяет ссылаться на отдельные столбцы или диапазон столбцов без применения логической группировки. Элементы <col> являются необязательными, но если они присутствуют, они должны находиться внутри элемента <colgroup> .
<table>
<colgroup>
<col id="MySpecialColumn" />
<col />
</colgroup>
<colgroup>
<col class="CoolColumn" />
<col class="NeatColumn" span="2" />
</colgroup>
...
</table>
Следующие стили CSS могут применяться к <colgroup> и <col> :
borderbackgroundwidthvisibilitydisplay(как наdisplay: none)-
display: none;фактически удалит столбцы с экрана, в результате чего таблица будет отображаться так, как если бы эти ячейки не существовали
-
Для получения дополнительной информации см. Табличные данные HTML5 .
Область охвата
th элемента очень часто используются для обозначения заголовков строк и столбцов таблицы, например:
<table>
<thead>
<tr>
<td></td>
<th>Column Heading 1</th>
<th>Column Heading 2</th>
</tr>
</thead>
<tbody>
<tr>
<th>Row Heading 1</th>
<td></td>
<td></td>
</tr>
<tr>
<th>Row Heading 2</th>
<td></td>
<td></td>
</tr>
</tbody>
</table>
Это можно улучшить для доступности с помощью атрибута scope . В приведенном выше примере будут внесены следующие изменения:
<table>
<thead>
<tr>
<td></td>
<th scope="col">Column Heading 1</th>
<th scope="col">Column Heading 2</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Row Heading 1</th>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">Row Heading 1</th>
<td></td>
<td></td>
</tr>
</tbody>
</table>
scope известен как перечислимый атрибут , что означает, что он может иметь значение из определенного набора возможных значений. Этот набор включает:
-
col -
row -
colgroup -
rowgroup
Рекомендации:
- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-scope
- https://www.w3.org/TR/WCAG20-TECHS/H63.html


