--- title: ': The Table element' slug: Web/HTML/Element/table tags: - Посилання - дані - таблиця translation_of: Web/HTML/Element/table original_slug: Web/HTML/Елемент/table ---
{{HTMLRef}}

Тег <table> являє собою табличні дані себто інформацію представлену у вигляді двовимірної таблиці, що складається з рядків, шпальт та комірок, що містять власне дані.

{{EmbedInteractiveExample("pages/tabbed/table.html","tabbed-standard")}}
Тип вмісту Потоковий
Дозволений вміст
В наступному порядку:
  1. можливий елемент {{HTMLElement("caption")}},
  2. можливо 0 або більше елементів {{HTMLElement("colgroup")}},
  3. можливий елемент {{HTMLElement("thead")}},
  4. одне з наступного:
    • 0 або більше {{HTMLElement("tbody")}}
    • 1 або більше {{HTMLElement("tr")}}
  5. можливий елемент {{HTMLElement("tfoot")}}
Пропуск теґів {{no_tag_omission}}
Дозволені батьківські елементи Будь який елемент що приймає потоковий вміст
Явна роль ARIA table
Дозволені ролі ARIA  Будь які
Інтерфейс DOM {{domxref("HTMLTableElement")}}

Атрибути

Цей елемент містить глобальні атрибути.

Застарілі атрибути

{{htmlattrdef("align")}} {{Deprecated_inline}}

Цей нумерований атрибут вказує на розміщення таблиці в документі. Може мати наступні значення:

Встановіть {{cssxref("margin-left")}} та {{cssxref("margin-right")}} у значення auto або {{cssxref("margin")}} в 0 auto для того щоб досягти подібного розміщення.

{{htmlattrdef("bgcolor")}} {{Deprecated_inline}}

Колір тла таблиці в шестизначному шістнадцятирічному форматі RGB з префіксом '#'. Також замість RGB можна використати ключові слова кольорів.

Щоб досягти подібного ефекту використовуйте CSS-властивість {{cssxref("background-color")}} .

{{htmlattrdef("border")}} {{Deprecated_inline}}

Цілочислений атрибут визначає розмір рамки, що оточує таблицю, в пікселях. Якщо 0, то атрибут {{htmlattrxref("frame", "table")}} порожній.

Щоб досягти подібного ефекту скористайтеся складаною CSS-властивістю {{cssxref("border")}}.

{{htmlattrdef("cellpadding")}} {{Deprecated_inline}}

Цей атрибут визначає відстань між вмістом комірки та її межою, чи показувати її чи ні. Якщо цей відступ визначено в пікселях, цей відступ прикладається до всіх чотирьох сторін. Якщо відступ визначено у відсотках вміст комірки буде центровано, а значення відступу буде прикладено тільки до відступу по вертикалі (зверху та знизу від вмісту).

Щоб досягти подібного ефекту, застосуйте властивість {{cssxref("border-collapse")}} до <table>, зі значенням collapse, та {{cssxref("padding")}} до елементів {{HTMLElement("td")}}.

{{htmlattrdef("cellspacing")}} {{Deprecated_inline}}

This attribute defines the size of the space between two cells in a percentage value or pixels. The attribute is applied both horizontally and vertically, to the space between the top of the table and the cells of the first row, the left of the table and the first column, the right of the table and the last column and the bottom of the table and the last row.

To achieve a similar effect, apply the {{cssxref("border-spacing")}} property to the <table> element. border-spacing does not have any effect if {{cssxref("border-collapse")}} is set to collapse.

{{htmlattrdef("frame")}} {{Deprecated_inline}}

This enumerated attribute defines which side of the frame surrounding the table must be displayed.

To achieve a similar effect, use the {{cssxref("border-style")}} and {{cssxref("border-width")}} properties.

{{htmlattrdef("rules")}} {{Deprecated_inline}}

This enumerated attribute defines where rules, i.e. lines, should appear in a table. It can have the following values:

To achieve a similar effect, apply the {{cssxref("border")}} property to the appropriate {{HTMLElement("thead")}}, {{HTMLElement("tbody")}}, {{HTMLElement("tfoot")}}, {{HTMLElement("col")}}, or {{HTMLElement("colgroup")}} elements.

{{htmlattrdef("summary")}} {{Deprecated_inline}}
This attribute defines an alternative text that summarizes the content of the table. Use the {{htmlelement("caption")}} element instead.
{{htmlattrdef("width")}} {{Deprecated_inline}}

This attribute defines the width of the table. Use the CSS {{cssxref("width")}} property instead.

Examples

Simple Table

<table>
  <tr>
    <td>John</td>
    <td>Doe</td>
  </tr>
  <tr>
    <td>Jane</td>
    <td>Doe</td>
  </tr>
</table>

{{EmbedLiveSample('Simple_Table', '100%', '100', '', 'Web/HTML/Element/table')}}

More Examples

<p>Simple table with header</p>
<table>
  <tr>
    <th>First name</th>
    <th>Last name</th>
  </tr>
  <tr>
    <td>John</td>
    <td>Doe</td>
  </tr>
  <tr>
    <td>Jane</td>
    <td>Doe</td>
  </tr>
</table>

<p>Table with thead, tfoot, and tbody</p>
<table>
  <thead>
    <tr>
      <th>Header content 1</th>
      <th>Header content 2</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Body content 1</td>
      <td>Body content 2</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td>Footer content 1</td>
      <td>Footer content 2</td>
    </tr>
  </tfoot>
</table>

<p>Table with colgroup</p>
<table>
  <colgroup span="4"></colgroup>
  <tr>
    <th>Countries</th>
    <th>Capitals</th>
    <th>Population</th>
    <th>Language</th>
  </tr>
  <tr>
    <td>USA</td>
    <td>Washington, D.C.</td>
    <td>309 million</td>
    <td>English</td>
  </tr>
  <tr>
    <td>Sweden</td>
    <td>Stockholm</td>
    <td>9 million</td>
    <td>Swedish</td>
  </tr>
</table>

<p>Table with colgroup and col</p>
<table>
  <colgroup>
    <col style="background-color: #0f0">
    <col span="2">
  </colgroup>
  <tr>
    <th>Lime</th>
    <th>Lemon</th>
    <th>Orange</th>
  </tr>
  <tr>
    <td>Green</td>
    <td>Yellow</td>
    <td>Orange</td>
  </tr>
</table>

<p>Simple table with caption</p>
<table>
  <caption>Awesome caption</caption>
  <tr>
    <td>Awesome data</td>
  </tr>
</table>

{{EmbedLiveSample('More_Examples', '100%', '700', '', 'Web/HTML/Element/table')}}

Accessibility concerns

Captions

By supplying a {{HTMLElement("caption")}} element whose value clearly and concisely describes the table's purpose, it helps the people decide if they need to read the rest of the table content or skip over it.

This helps people navigating with the aid of assistive technology such as a screen reader, people experiencing low vision conditions, and people with cognitive concerns.

Scoping rows and columns

The {{htmlattrxref("scope", "th")}} attribute on header elements is redundant in simple contexts, because scope is inferred. However, some assistive technologies may fail to draw correct inferences, so specifying header scope may improve user experiences. In complex tables, scope can be specified so as to provide necessary information about the cells related to a header.

Example

<table>
  <caption>Color names and values</caption>
  <tbody>
    <tr>
      <th scope="col">Name</th>
      <th scope="col">HEX</th>
      <th scope="col">HSLa</th>
      <th scope="col">RGBa</th>
    </tr>
    <tr>
      <th scope="row">Teal</th>
      <td><code>#51F6F6</code></td>
      <td><code>hsla(180, 90%, 64%, 1)</code></td>
      <td><code>rgba(81, 246, 246, 1)</code></td>
    </tr>
    <tr>
      <th scope="row">Goldenrod</th>
      <td><code>#F6BC57</code></td>
      <td><code>hsla(38, 90%, 65%, 1)</code></td>
      <td><code>rgba(246, 188, 87, 1)</code></td>
    </tr>
  </tbody>
</table>

Providing a declaration of scope="col" on a {{HTMLElement("th")}} element will help describe that the cell is at the top of a column. Providing a declaration of scope="row" on a {{HTMLElement("th")}} element will help describe that the cell is the first in a row.

Complicated tables

Assistive technology such as screen readers may have difficulty parsing tables that are so complex that header cells can’t be associated in a strictly horizontal or vertical way. This is typically indicated by the presence of the {{htmlattrxref("colspan", "td")}} and {{htmlattrxref("rowspan", "td")}} attributes.

Ideally, consider alternate ways to present the table's content, including breaking it apart into a collection of smaller, related tables that don't have to rely on using the colspan and rowspan attributes. In addition to helping people who use assistive technology understand the table's content, this may also benefit people with cognitive concerns who may have difficulty understanding the associations the table layout is describing.

If the table cannot be broken apart, use a combination of the {{htmlattrxref("id")}} and {{htmlattrxref("headers", "td")}} attributes to programmatically associate each table cell with the header(s) the cell is associated with.

Specifications

Specification Status Comment
{{SpecName('HTML WHATWG','tables.html#the-table-element','table element')}} {{Spec2('HTML WHATWG')}}
{{SpecName('HTML5 W3C','tabular-data.html#the-table-element','table element')}} {{Spec2('HTML5 W3C')}}

Browser compatibility

{{Compat("html.elements.table")}}

See also