Таблицы в html примеры: Оформление таблицы с помощью псевдоклассов

Содержание

Оформление таблицы с помощью псевдоклассов

С помощью стандартных способов оформления можно задать стиль для таблицы и всех её строк. Но как быть, если требуется, например, выделить отдельную ячейку? Чтобы не задавать для ячейки class, можно воспользоваться комбинацией селекторов и псевдоклассов.

В данном уроке приведены различные варианты отбора элементов таблицы с помощью структурных псевдоклассов.

<table>
<tr><th>Company</th><th>Q1</th><th>Q2</th><th>Q3</th><th>Q4</th></tr>
<tr><td>Microsoft</td><td>20.3</td><td>30.5</td><td>23.5</td><td>40.3</td></tr>
<tr><td>Google</td><td>50.2</td><td>40.63</td><td>45.23</td><td>39.3</td></tr>
<tr><td>Apple</td><td>25.4</td><td>30. 2</td><td>33.3</td><td>36.7</td></tr>
</table>

1. Первая срока таблицы

th {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

2. Последняя строка таблицы

tr:last-child {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

3. Третья строка таблицы

tr:nth-child(3){background:#C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

4. Таблица-зебра (каждая четная строка)

tr:nth-child(even) {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

5. Таблица-зебра (каждая нечетная строка)

tr:nth-child(odd) {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

6. Первая ячейка первой строки таблицы

th:first-child {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

7. Последняя ячейка первой строки таблицы

th:last-child {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

8. Первая ячейка последней строки таблицы

tr:last-child td:first-child {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

9. Последняя ячейка последней строки таблицы

tr:last-child td:last-child {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

10. Третья ячейка третьей строки таблицы

tr:nth-child(3) td:nth-child(3) {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

11. Первый столбец таблицы

th:first-child, td:first-child {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

12. Третий столбец таблицы

td:nth-child(3), th:nth-child(3) {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

13. Последний столбец таблицы

th:last-child, td:last-child {background: #C9E3FE}

CompanyQ1Q2Q3Q4
Microsoft20.330.523.540.3
Google50.240.6345.2339.3
Apple25.430.233.336.7

HTML-списки

HTML-списки используются для группировки связанных между собой фрагментов информации. Существует три вида списков:

  • маркированный список<ul> — каждый элемент списка <li> отмечается маркером,
  • нумерованный список<ol> — каждый элемент списка <li> отмечается цифрой,
  • список определений<dl> — состоит из пар термин <dt><dd> определение.

Каждый список представляет собой контейнер, внутри которого располагаются элементы списка или пары термин-определение.

Элементы списка ведут себя как блочные элементы, располагаясь друг под другом и занимая всю ширину блока-контейнера. Каждый элемент списка имеет дополнительный блок, расположенный сбоку, который не участвует в компоновке.

Создание HTML-списков

1. Маркированный список

Маркированный список представляет собой неупорядоченный список (от англ. Unordered List). Создаётся с помощью элемента <ul>. В качестве маркера элемента списка выступает метка, например, закрашенный кружок.

Браузеры по умолчанию добавляют следующее форматирование блоку списка:

ul {
   padding-left: 40px;
   margin-top: 1em;
   margin-bottom: 1em;
}

Каждый элемент списка создаётся с помощью элемента <li> (от англ. List Item).

Для элемента <ul> доступны ‎глобальные атрибуты.

<ul>
  <li>Microsoft</li>
  <li>Google</li>
  <li>Apple</li>
  <li>IBM</li>
</ul>
  • Microsoft
  • Google
  • Apple
  • IBM

Фигура. 1. Маркированный список

2. Нумерованный список

Нумерованный список создаётся с помощью элемента <ol>. Каждый пункт списка также создаётся с помощью элемента <li>. Браузер нумерует элементы по порядку автоматически и если удалить один или несколько элементов такого списка, то остальные номера будут автоматически пересчитаны.

Блок списка также имеет стили браузера по умолчанию:

ol {
   padding-left: 40px;
   margin-top: 1em;
   margin-bottom: 1em;
}

Для элемента <li> доступен атрибут value, который позволяет изменить номер по умолчанию для выбранного элемента списка. Например, если для первого пункта списка задать <li value="10">, то остальная нумерация будет пересчитана относительно нового значения.

Для элемента <ol> доступны следующие атрибуты:

Таблица 1. Атрибуты элемента <ol>
АтрибутОписание, принимаемое значение
reversedАтрибут reversed задает отображение списка в обратном порядке (например, 9, 8, 7…).
startАтрибут start задает начальное значение, от которого пойдет отсчет нумерации, например, конструкция <ol start="10"> первому пункту присвоит порядковый номер «10». Также можно одновременно задавать тип нумерации, например, <ol type="I" start="10">.
typeАтрибут type задает вид маркера для использования в списке (в виде букв или цифр). Принимаемые значения:
1 — значение по умолчанию, десятичная нумерация.
A — нумерация списка в алфавитном порядке, заглавные буквы (A, B, C, D).
a — нумерация списка в алфавитном порядке, строчные буквы (a, b, c, d).
I — нумерация римскими заглавными цифрами (I, II, III, IV).
i — нумерация римскими строчными цифрами (i, ii, iii, iv).
<ol>
  <li>Microsoft</li>
  <li>Google</li>
  <li>Apple</li>
  <li>IBM</li>
</ol>
  1. Microsoft
  2. Google
  3. Apple
  4. IBM

Фигура. 2. Нумерованный список

3. Список определений

Списки определений создаются с помощью элемента <dl>. Для добавления термина применяется элемент <dt>, а для вставки определения — элемент <dd>.

Блок списка определений имеет следующие стили браузера по умолчанию:

dl {
   margin-top: 1em;
   margin-bottom: 1em;
}

Для элементов <dl>, <dt> и <dd> доступны ‎глобальные атрибуты.

<dl>
  <dt>Режиссер:</dt>
    <dd>Петр Точилин</dd>
  <dt>В ролях:</dt>
    <dd>Андрей Гайдулян</dd>
    <dd>Алексей Гаврилов</dd>
    <dd>Виталий Гогунский</dd>
    <dd>Мария Кожевникова</dd>
</dl>
Режиссер:
Петр Точилин
В ролях:
Андрей Гайдулян
Алексей Гаврилов
Виталий Гогунский
Мария Кожевникова

Фигура. 3. Список определений

4. Как создать вложенный список

Зачастую возможностей простых списков не хватает, например, при создании оглавления никак не обойтись без вложенных пунктов. Разметка для вложенного списка будет следующей:

<ul>
 <li>Пункт 1.</li>
  <li>Пункт 2.
    <ul>
      <li>Подпункт 2.1.</li>
       <li>Подпункт 2.2.     
        <ul>
          <li>Подпункт 2.2.1.</li>
          <li>Подпункт 2.2.2.</li>
          </ul>
       </li>          
      <li>Подпункт 2.3.</li>
    </ul>
  </li>
 <li>Пункт 3.</li>
</ul>
  • Пункт 1.
  • Пункт 2.
    • Подпункт 2.1.
    • Подпункт 2.2.
      • Подпункт 2.2.1.
      • Подпункт 2.2.2.
    • Подпункт 2.3.
  • Пункт 3.

Фигура. 4. Вложенный список

5. Многоуровневый нумерованный список

Многоуровневый список используется для отображения элементов списка на разных уровнях с различными отступами. Разметка для многоуровневого нумерованного списка будет следующей:

<ol>
   <li>пункт</li>
   <li>пункт
      <ol>
         <li>пункт</li>
         <li>пункт</li>
         <li>пункт
            <ol>
               <li>пункт</li>
               <li>пункт</li>
               <li>пункт</li>
            </ol>
         </li>
         <li>пункт</li>
      </ol>
   </li>
   <li>пункт</li>
   <li>пункт</li>
</ol>

Такая разметка по умолчанию создаст для каждого вложенного списка новую нумерацию, начинающуюся с единицы. Чтобы сделать вложенную нумерацию, нужно использовать следующие свойства:

  • counter-reset сбрасывает один или несколько счётчиков, задавая значение для сброса;
  • counter-increment задаёт значение приращения счётчика, т.е. с каким шагом будет нумероваться каждый последующий пункт;
  • content — генерируемое содержимое, в данном случае отвечает за вывод номера перед каждым пунктом списка.
ol {
   /* убираем стандартную нумерацию */
   list-style: none;
   /* Идентифицируем счетчик и даем ему имя li. Значение счетчика не указано - по умолчанию оно равно 0 */
   counter-reset: li;
}
li:before {
   /* Определяем элемент, который будет нумероваться — li. Псевдоэлемент before указывает, что содержимое, вставляемое при помощи свойства content, будет располагаться перед пунктами списка. Здесь же устанавливается значение приращения счетчика (по умолчанию равно 1). */
   counter-increment: li;
   /* С помощью свойства content выводится номер пункта списка. counters() означает, что генерируемый текст представляет собой значения всех счетчиков с таким именем. Точка в кавычках добавляет разделяющую точку между цифрами, а точка с пробелом добавляется перед содержимым каждого пункта списка */
   content: counters(li, ".") ". ";
}
  1. пункт
  2. пункт
    1. пункт
    2. пункт
    3. пункт
      1. пункт
      2. пункт
      3. пункт
    4. пункт
  3. пункт
  4. пункт

Фигура. 5. Многоуровневый нумерованный список

HTML Таблицы



Таблица — это сетка из ячеек, формирующих строки и столбцы. Примерами таблиц могут служить различные финансовые отчеты, результаты спортивных соревнований, календари, расписания и т.д. Отдельный блок сетки называется ячейкой таблицы. Ячейки таблицы могут содержать самую разнообразную информацию, включая числа, текст, и даже видео и аудио объекты. С помощью языка HTML таблицы пишутся построчно.

Элемент <table> служит контейнером для элементов, определяющих содержимое таблицы. Чтобы создать строку таблицы, нужно добавить внутрь элемента <table> парный блочный тег <tr> (сокр. от англ. «tаЫе row» – строка таблицы). Сколько тегов <tr> вы добавите, столько строк в таблице и будет. Открывающий тег <tr> обозначает начало новой строки таблицы. После него помещаются элементы <td> (сокр. от англ. «tаЫе data» – данные таблицы), каждый из которых задает отдельную ячейку в этой строке. Внутрь элемента <td> вы помещаете свой контент (текст, числа, изображения и т.д.), отображаемый в этой ячейке. Конец строки обозначается закрывающим тегом </tr>.

Элемент <th> (сокр. от англ. «tаЫе heading» – заголовок таблицы) — необязательный табличный элемент, который используется точно так же, как и элемент <td>, однако его назначение — создание заголовка строки или столбца. Как правило, элемент <th> размещают в первой строке таблицы. Браузеры отображают текст в элементе <th> жирным шрифтом и центрируют его относительно ячейки. Применение в коде элемента <th> помогает людям, которые пользуются программами экранного доступа, а также улучшает результативность индексирования таблиц поисковыми машинами.

Рассмотрим простую таблицу, которая состоит из трех строк и трех столбцов, причем ячейки первой строки будут заголовками соответствующих столбцов. По умолчанию таблицы обычно отображаются без рамки:

Пример: Простая HTML-таблица

Заголовок 1Заголовок 2Заголовок 3
Ячейка 2×1Ячейка 2×2Ячейка 2×3
Ячейка 3×1Ячейка 3×2Ячейка 3×3

<table>
  <tr><th>Заголовок 1</th><th>Заголовок 2</th><th>Заголовок 3</th></tr>
  <tr><td>Ячейка 2x1 </td><td>Ячейка 2x2 </td><td>Ячейка 2x3 </td></tr>
  <tr><td>Ячейка 3x1 </td><td>Ячейка 3x2 </td><td>Ячейка 3x3 </td></tr>
</table>        

Граница таблицы

Мы уже знаем, что по умолчанию таблицы отображаются без рамки. Для добавления рамки вокруг таблицы нужно указать в документе
несколько простых правил таблиц стилей. Свойство border управляет отображением линий сетки таблицы, а также задает толщину рамки вокруг таблицы в пикселах. Рамка отображается вокруг таблицы и между ячейками. Добавим к уже созданной таблице рамку толщиной один пиксель, установив свойство border для всех элементов таблицы, например, вот так:

<style>
    table, th, td {
        border: 1px solid black;
    }
</style>

Пример: Применение свойства

border

Заголовок 1Заголовок 2Заголовок 3
Ячейка 2×1Ячейка 2×2Ячейка 2×3
Ячейка 3×1Ячейка 3×2Ячейка 3×3
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Рамка вокруг таблицы</title> <style> table, th, td { border: 1px solid black; } </style> </head>
  <body>   <table>   <tr><th>Заголовок 1</th><th>Заголовок 2</th><th>Заголовок 3</th></tr>   <tr><td>Ячейка 2x1 </td><td>Ячейка 2x2 </td><td>Ячейка 2x3 </td></tr>   <tr><td>Ячейка 3x1 </td><td>Ячейка 3x2 </td><td>Ячейка 3x3 </td></tr>   </table>   </body>
</html>
Свойство border следует устанавливать как для самой таблицы <table> так и для её ячеек <th> и <td>.

Одинарная рамка для таблицы

По умолчанию у смежных ячеек таблицы будет своя собственная граница. Это приводит к своего рода «двойной рамке», как видно из примера выше. Чтобы избавиться от «двойной рамки», добавьте свойство CSS border-collapse к своей таблице стилей:

<style>
  table {
    border-collapse: collapse;
  }
</style>

Пример: Применение свойства

border-collapse

Заголовок 1Заголовок 2Заголовок 3
Ячейка 2×1Ячейка 2×2Ячейка 2×3
Ячейка 3×1Ячейка 3×2Ячейка 3×3
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Рамка вокруг таблицы</title> <style> table { border-collapse: collapse; } th, td { border: 1px solid black; } </style> </head>
  <body>   <table>   <tr><th>Заголовок 1</th><th>Заголовок 2</th><th>Заголовок 3</th></tr>   <tr><td>Ячейка 2x1 </td><td>Ячейка 2x2 </td><td>Ячейка 2x3 </td></tr>   <tr><td>Ячейка 3x1 </td><td>Ячейка 3x2 </td><td>Ячейка 3x3 </td></tr>   </table>   </body>
</html>

Поля и интервалы таблицы

По умолчанию размер ячеек таблицы подстраивается под их содержимое, но иногда бывает необходимо оставить вокруг табличных данных немного пространства (padding). Поскольку интервалы и поля относятся к элементам представления данных, это пространство настраивается с помощью стилевых таблиц CSS.
Поле ячейки (padding) — это расстояние между содержимым ячейки и ее границей (border). Для его добавления примените свойство padding к элементу <td> или <th>.
Интервал ячеек (border-spacing) — это расстояние между ними (<td> или <th>). Сначала присвойте значение separate свойству border-collapse элемента <table>, а затем установите расстояние между ячейками, изменив значение параметра border-spacing. Раньше за поля и интервал ячеек отвечали атрибуты cellpadding и cellspacing элемента <table>, но в спецификации HTML5 они были признаны устаревшими.

Пример использования padding и border-spacing:

Пример: Применение свойств

padding и border-spacing

padding — это расстояние между содержимым ячейки и ее границей (желтый цвет)
Ячейка 1Ячейка 2
Ячейка 3Ячейка 4
border-spacing — это расстояние между ячейками (зеленый цвет)
Ячейка 1Ячейка 2
Ячейка 3Ячейка 4
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>padding и border-spacing</title> <style> table, td { border: 1px solid black; } table { border-spacing: 15px; background-color:green; } td { background-color:yellow; padding: 15px; } </style> </head>
  <body>   <table>   <tr><td>Ячейка 1</td><td>Ячейка 2</td></tr>   <tr><td>Ячейка 3</td><td>Ячейка 4</td></tr>   </table>   </body>
</html>
Примечание: Если к таблице применено свойство border-collapse: collapse, то интервал ячеек (border-spacing) не сработает.

Ширина таблицы

Ширину, занимаемую таблицей в окне браузера, можно указать с помощью свойства width CSS, в пикселях или процентах. Указание ширины таблицы в пикселях позволяет определить её точную ширину. Процентное соотношение позволяет сделать таблицу гибкой, т.е. она будет «растягиваться» или «сжиматься» в зависимости от того, какие еще элементы находятся на странице и какие размеры окна браузера.
Вот пример использования свойства width:

table {width: 100%;}

Пример: Применение свойства

width

Ячейка 1Ячейка 2
Ячейка 3Ячейка 4
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>width: 100%</title> <style> table { border-collapse: collapse; width: 100%; } th, td { border: 1px solid black; padding: 15px; } </style> </head>
  <body>   <table>   <tr><td>Ячейка 1</td><td>Ячейка 2</td></tr>   <tr><td>Ячейка 3</td><td>Ячейка 4</td></tr>   </table>   </body>
</html>

Объединение ячеек (colspan и rowspan)

Одной из основных особенностей структуры таблицы является объединение ячеек, которое подразумевает растяжение ячейки и охват ею нескольких строк или столбцов. Это позволяет создавать сложные табличные структуры: заголовки <th> или ячейки <td> объединяются посредством добавления атрибутов colspan или rowspan. Атрибут colspan определяет количество ячеек, на которые простирается данная ячейка по горизонтали, а rowspan — по вертикали.

Объединение столбцов

Объединение столбцов достигается с помощью атрибута colspan в элементах <td> или <th> — ячейка растягивается вправо, охватывая последующие столбцы. В следующем примере значение атрибута colspan равно 2, а это значит, что ячейка должна занимать два столбца.

Пример: Применение атрибута

colspan

Ячейка на два столбца
Ячейка 1Ячейка 2
Ячейка 3Ячейка 4
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Атрибут colspan</title> <style> table { border-collapse: collapse; width: 100%; } th, td { border: 1px solid black; padding: 5px; } </style> </head>
  <body>   <table>   <tr><th colspan="2">Ячейка на два столбца</th></tr>   <tr><td>Ячейка 1</td><td>Ячейка 2</td></tr>   <tr><td>Ячейка 3</td><td>Ячейка 4</td></tr>   </table>   </body>
</html>

Объединение строк

Строки, объединенные при помощи атрибута rowspan, ведут себя точно так же, как объединенные столбцы, с той лишь разницей, что диапазон ячеек задается сверху вниз и охватывает несколько строк.
В этом примере первая ячейка таблицы растягивается на две строки вниз:

Пример: Применение атрибута

rowspan

Ячейка на две строкиЯчейка 1Ячейка 2
Ячейка 3Ячейка 4
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Атрибут rowspan</title> <style> table { border-collapse: collapse; width: 100%; } th, td { border: 1px solid black; padding: 5px; } </style> </head>
  <body>   <table>   <tr><th rowspan="2">Ячейка на две строки</th>       <td>Ячейка 1</td><td>Ячейка 2</td></tr>   <tr><td>Ячейка 3</td><td>Ячейка 4</td></tr>   </table>   </body>
</html>

Заголовок таблицы

Для создания заголовка или подписи таблицы используется парный тег <caption> (от англ. caption – подпись). Элемент <caption> предназначен для организации заголовка таблицы. Располагается сразу после тега <table>, но вне описания строки или ячейки.

Пример: Применение тега

<caption>

Это заголовок таблицы
Ячейка на две строкиЯчейка 1Ячейка 2
Ячейка 3Ячейка 4
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Элемент caption</title> <style> table { border-collapse: collapse; width: 100%; } th, td { border: 1px solid black; padding: 5px; } </style> </head>
  <body>   <table>   <caption>Это заголовок таблицы</caption>   <tr><th rowspan="2">Ячейка на две строки</th>       <td>Ячейка 1</td><td>Ячейка 2</td></tr>   <tr><td>Ячейка 3</td><td>Ячейка 4</td></tr>   </table>   </body>
</html>

Теги группирования элементов таблиц

Для группирования элементов таблиц служат теги <thead>, <tbody> и <tfoot>.
Так же, как веб-страница может содержать «шапку», «тело» и «подвал», таблица может содержать головную, основную и нижнюю части. Для логического группирования строк в верхней части таблицы (то есть для соз
дания верхней шапки таблицы) используется тег <thead>. Заголовки таблицы
должны быть помещены в элемент <thead>, например:

<thead>
<tr><th>Заголовок 1</th><th>Заголовок 2< /th></tr>
</thead>

Основное содержимое (тело) таблицы должно находиться внутри элемента <tbody> (таких блоков в таблице может быть несколько). Для логического группирования строк в нижней части таблицы (то есть для создания «подвала» таблицы) используется тег <tfoot> (в одной таблице допускается не более одного тега <tfoot>). В исходном коде тег <tfoot> ставится до тега <tbody>.
Кроме логического группирования одной из причин использования элементов <thead> и <tfoot> является то, что если ваша таблица слишком длинная для единовременного отображения на экране (или для печати), то браузер будет отображать и заголовок (<thead>) и последнюю строку (<tfoot>), когда пользователь станет прокручивать вашу таблицу.

Пример: Теги

<thead>, <tbody> и <tfoot>

Это шапка таблицы
Это подвал таблицы
Ячейка 1Ячейка 2Ячейка 3Ячейка 4
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Теги thead, tbody и tfoot</title> <style> table { border-collapse: collapse; width: 100%; } th, td { border: 1px solid black; padding: 5px; } </style> </head>
  <body> <table> <thead> <tr><th colspan="4">Это шапка таблицы</th></tr> </thead> <tfoot> <tr><td colspan="4">Это подвал таблицы</td></tr> </tfoot> <tbody> <tr><td>Ячейка 1</td><td>Ячейка 2</td><td>Ячейка 3</td><td>Ячейка 4</td></tr> </tbody> </table>   </body>
</html>

Несмотря на то, что мы перед <tbody> добавили <tfoot>, он, тем не менее, появляется в конце таблицы.
Это исходит из того, что <tbody> может содержать много строк. Но браузеру нужно отобразить нижнюю часть таблицы до получения всех (потенциально многочисленных) строк данных. Вот почему <tfoot> в коде прописывается перед элементом <tbody>.


Задачи


  • Объединение столбцов

    Напиште разметку для таблицы, изображенной на рис.1.

    Задача HTML:

    Реши сам »


    Ячейка на два столбца
    Ячейка 1Ячейка 2

    Рис.1

  • Объединение строк

    Напиште разметку для таблицы, изображенной на рис.1.

    Задача HTML:

    Реши сам »


    Ячейка на три строкиЯчейка 1
    Ячейка 2
    Ячейка 3

    Рис.1

  • Убрать двойную рамку таблицы

    По умолчанию граница таблицы имеет эффект двойной рамки, измените код так, чтобы все линии этой рамки стали одинарными.

    Задача HTML:

    Реши сам »


    Заголовок 1Заголовок 2Заголовок 3
    Ячейка 1x1 Ячейка 1x2 Ячейка 1x3
    Ячейка 2x1 Ячейка 2x2 Ячейка 2x3
    <!DOCTYPE html> <html>
    <head>
    <meta charset="UTF-8">
    <title>Рамка вокруг таблицы</title> <style> table, th, td {border: 1px solid black;} </style> </head>
      <body>   <table>   <tr><th>Заголовок 1</th><th>Заголовок 2</th><th>Заголовок 3</th></tr>   <tr><td>Ячейка 1x1 </td><td>Ячейка 1x2 </td><td>Ячейка 1x3 </td></tr>   <tr><td>Ячейка 2x1 </td><td>Ячейка 2x2 </td><td>Ячейка 2x3 </td></tr>   </table>   </body>
    </html>
  • Широкая таблица

    Сделайте чтобы эта таблица отображалось полностью на всю ширину окна браузера вне зависимости от ее ширины.

    Задача HTML:

    Реши сам »


    Заголовок 1Заголовок 2Заголовок 3
    Ячейка 1x1 Ячейка 1x2 Ячейка 1x3
    Ячейка 2x1 Ячейка 2x2 Ячейка 2x3
    <!DOCTYPE html> <html>
    <head>
    <meta charset="UTF-8">
    <title>Ширина таблицы</title> <style> table {border-collapse: collapse;} th, td {border: 1px solid black;} </style> </head>
      <body>   <table>   <tr><th>Заголовок 1</th><th>Заголовок 2</th><th>Заголовок 3</th></tr>   <tr><td>Ячейка 1x1 </td><td>Ячейка 1x2 </td><td>Ячейка 1x3 </td></tr>   <tr><td>Ячейка 2x1 </td><td>Ячейка 2x2 </td><td>Ячейка 2x3 </td></tr>   </table>   </body>
    </html>
  • Заголовок таблицы

    Измените приведенный код так, чтобы над таблицей появился основной заголовок (подпись), как показано на рис.1.

    Задача HTML:

    Реши сам »


    Основной заголовок таблицы
    Заголовок 1Заголовок 2Заголовок 3
    Ячейка 1x1 Ячейка 1x2 Ячейка 1x3
    Ячейка 2x1 Ячейка 2x2 Ячейка 2x3

    Рис.1

    <!DOCTYPE html> <html>
    <head>
    <meta charset="UTF-8">
    <title>Ширина таблицы</title> <style> table {border-collapse: collapse;width:100%} th, td {border: 1px solid black;} </style> </head>
      <body>   <table>   <tr><th>Заголовок 1</th><th>Заголовок 2</th><th>Заголовок 3</th></tr>   <tr><td>Ячейка 1x1 </td><td>Ячейка 1x2 </td><td>Ячейка 1x3 </td></tr>   <tr><td>Ячейка 2x1 </td><td>Ячейка 2x2 </td><td>Ячейка 2x3 </td></tr>   </table>   </body>
    </html>
  • Поле внутри ячеек

    Измените приведенный код так, чтобы между текстом внутри ячеек и их границей появился зазор (поле) шириной 25px, как показано на рис.1.

    Задача HTML:

    Реши сам »


    Ячейка 1Ячейка 2
    Ячейка 3Ячейка 4

    Рис.1

    <!DOCTYPE html> <html>
    <head>
    <meta charset="UTF-8">
    <title>Интервал между ячейками</title> <style> table, td { border: 1px solid black; } </style> </head>
      <body>   <table>   <tr><td>Ячейка 1</td><td>Ячейка 2</td></tr>   <tr><td>Ячейка 3</td><td>Ячейка 4</td></tr>   </table>   </body>
    </html>
  • Объединение строк

    Попробуйте написать разметку для таблицы, изображенной на рис.1. Совет: Строки всегда объединяются сверху вниз, поэтому ячейка с «ананасами» является частью первой строки.

    фурмаананасыперсики
    бананыгруши
    авокадо

    Рис.1

    <!DOCTYPE html>
    <html>
     <head>
      <meta charset="utf-8">
      <title>Объединение строк</title>
      <style>
        table {
          border-collapse: collapse;
          width: 100%;
        }
        th, td {
          border: 1px solid black;
          padding: 5px;
        } 
      </style>   
     </head>
     <body>
      <table>
        <tr>
          <td>фурма</td>
          <td rowspan="3">ананасы</td>
          <td>персики</td>
        </tr>
        <tr>
          <td>бананы</td>
          <td rowspan="2">груши</td>
        </tr>
        <tr>
          <td>авокадо</td>
        </tr>
      </table>
     </body>
    </html>



Таблицы. Учебник html table

Глава 4

Помимо прочих объектов в свой сайт Вы можете вставить таблицы.. и сразу забегая вперёд скажу о том что они имеют не малую значимость при создании сайта. С помощью таблицы можно не только выложить ту или иную информацию, тарифную сетку или график дежурств к примеру, но и взяв ёе за основу полностью построить на ней свой сайт, таблицы порой незаменимы при верстке страницы, но об этом позже. А сейчас давайте научимся её рисовать..

Тег <table> задаёт начало и конец таблицы, любая таблица, как известно, состоит из строк и столбцов, для этого есть ещё два тега:

<tr> — строка таблицы
<td> — столбец таблицы

Вместе эти теги пишутся так:


<table>
<tr>
<td>ячейка</td>
</tr>
</table>

Такая запись это самая маленькая таблица, в ней всего одна строка, содержащая один столбец — ячейку

Поставим перед собой задачу нарисовать таблицу из трёх строк и трёх столбцов, а заодно вспомним атрибут border «рамка», который добавит нам наглядности.

<html>
<head>
<title>Таблица</title>
</head>
<body>
<table border=»1″>
<tr>
<td>строка1 ячейка1</td>
<td>строка1 ячейка2</td>
<td>строка1 ячейка3</td>
</tr>
<tr>
<td>строка2 ячейка1</td>
<td>строка2 ячейка2</td>
<td>строка2 ячейка3</td>
</tr>
<tr>
<td>строка3 ячейка1</td>
<td>строка3 ячейка2</td>
<td>строка3 ячейка3</td>
</tr>
</table>
</body>
</html>

Разобрались? Если да, идем дальше..

Часто при работе с таблицами возникает необходимость объединить те или иные ячейки в одну.

На самом деле слово «объединить» здесь неуместно, использовал я его лишь для того, что бы вызвать ассоциации в Вашей голове. Вспомните тот же Word, добавив там таблицу Вы выделяете нужные ячейки и нажимаете кнопку «объединить».. здесь всё происходит не совсем так, и правильнее было бы говорить не «объединить» а «растянуть».

Эту задачу решают атрибуты colspan и rowspan

  • colspan — определяет какое количество столбцов будет занимать данная ячейка
  • rowspan — количество рядов занимаемое ячейкой

Предположим что в нашем примере нам необходимо «объединить» в третьей строке вторую и третью ячейку, для этого атрибуту colspan присваиваем значение 2 (растянуть на два столбца) и вставляем его в нужное место.

<html>
<head>
<title>Таблица</title>
</head>
<body>
<table border=»1″>
<tr>
<td>строка1 ячейка1</td>
<td>строка1 ячейка2</td>
<td>строка1 ячейка3</td>
</tr>
<tr>
<td>строка2 ячейка1</td>
<td>строка2 ячейка2</td>
<td>строка2 ячейка3</td>
</tr>
<tr>
<td>строка3 ячейка1</td>
<td colspan=»2″>строка3 ячейка2</td>
<td>строка3 ячейка3</td>
</tr>
</table>
</body>
</html>

Как видите ячейка растянулась на два столбца, но при этом сдвинула третью ячейку, которая собственно нам теперь не нужна, а по сему мы её просто напросто удаляем. Специально допустил эту оплошность, чтобы Вы поняли принцип данного действия.

Исправленный пример:

<html>
<head>
<title>Таблица</title>
</head>
<body>
<table border=»1″>
<tr>
<td>строка1 ячейка1</td>
<td>строка1 ячейка2</td>
<td>строка1 ячейка3</td>
</tr>
<tr>
<td>строка2 ячейка1</td>
<td>строка2 ячейка2</td>
<td>строка2 ячейка3</td>
</tr>
<tr>
<td>строка3 ячейка1</td>
<td colspan=»2″>строка3 ячейка2</td>
</tr>
</table>
</body>
</html>

Теперь попробуем объединить весь первый столбец в одну ячейку, используя атрибут rowspan, ну точнее растянем ячейку первой строчки первого столбца на три строки и на сей раз сразу уберём лишнее.

<html>
<head>
<title>Таблица</title>
</head>
<body>
<table border=»1″>
<tr>
<td rowspan=»3″>строка1 ячейка1</td>
<td>строка1 ячейка2</td>
<td>строка1 ячейка3</td>
</tr>
<tr>
<td>строка2 ячейка2</td>
<td>строка2 ячейка3</td>
</tr>
<tr>
<td colspan=»2″>строка3 ячейка2</td>
</tr>
</table>
</body>
</html>

Всё просто.. главное быть внимательным!

Если Вы самостоятельно тренировались с рисованием таблицы то наверняка обратили внимание на то, что размеры таблицы и ячеек по умолчанию ограничены вставленным в неё текстом.. и «ползают» себе как хотят.
Вспомните про атрибуты width — ширина и height — высота, которые мы использовали для растягивания рисунков, они так же применимы к тегам <table>, <tr>и <td>. С этими атрибутами Вы знакомы, так что рассусоливать не буду.. просто приведу пример. В нём заданы размеры таблицы и отдельных её ячеек, а заодно и вся таблица выровнена по центру знакомым тегом <center>

Пример:

<html>
<head>
<title>Таблица</title>
</head>
<body>
<center>
<table border=»1″ width=»640″>
<tr>
<td rowspan=»3″ width=»150″>строка1 ячейка1</td>
<td>строка1 ячейка2</td>
<td>строка1 ячейка3</td>
</tr>
<tr>
<td height=»30″>строка2 ячейка2</td>
<td>строка2 ячейка3</td>
</tr>
<tr>
<td colspan=»2″ >строка3 ячейка2</td>
</tr>
</table>
</center>
</body>
</html>

Обратите внимание на то, что длина и ширина заданы не для всех ячеек. А зачем? Если и так таблица будет выровнена по самым широким и длинным ячейкам.. на то она и таблица..

Еще не всё рассказал..

Значения атрибутов width и height в таблице могут указываться не только в пикселях, но и в процентах

Вот пример:

<html>
<head>
<title>Таблица</title>
</head>
<body>
<center>
<table border=»1″>
<tr height=»25%»>
<td width=»15%»> строка1 ячейка1</td>
<td width=»25%»>строка1 ячейка2</td>
<td width=»60%»>строка1 ячейка3</td>
</tr>
<tr height=»50%»>
<td>строка2 ячейка1</td>
<td>строка2 ячейка2</td>
<td>строка2 ячейка3</td>
</tr>
<tr height=»25%»>
<td>строка3 ячейка1</td>
<td>строка3 ячейка2</td>
<td>строка3 ячейка3</td>
</tr>
</table>
</center>
</body>
</html>

В этом примере от общей ширины таблицы в 640 пикселей мы отдали 15% первой ячейке, 25% второй и 60% третьей. А по высоте из 480 пикселей по 25% первой и третьей строчке, а добрую половину места второй.. Короче справедливости в мире нет.. Ну до это Вам решать, сколько кому места отчуждать, главное, чтобы в сумме было 100%, иначе неразбериха будет.. смутное время.. революция..

Посмотрите на этот пример с таблицей, он Вам ничего не напоминает??

<html>
<head>
<title>Верстка страницы</title>
</head>
<body>
<center>
<table border=»1″>
<tr>
<td colspan=»5″><center>Заголовок</center></td>
</tr>
<tr>
<td><center>кнопка1</center></td>
<td><center>кнопка2</center></td>
<td><center>кнопка3</center></td>
<td><center>кнопка4</center></td>
<td><center>кнопка5</center></td>
</tr>
<tr>
<td valign=»top»>содержание:</td>
<td colspan=»4″><center>куча текста</center></td>
</tr>
</table>
</center>
</body>
</html>

Как видите, таблица это хороший и главное удобный инструмент для верстки страницы..

Любая ячейка таблицы может служить самостоятельной ёмкостью для наполнения другими тегами и текстовым содержанием, а также иметь те или иные индивидуальные свойства — атрибуты.

Давайте освежим в голове уже пройденный материал, применив эти знания к таблице. Покажу на примерах, мы это уже проходили..

Добавим красок:

<html>
<head>
<title>Таблица и краски</title>
</head>
<body>
<center>
<table>
<tr>
<td bgcolor=»#c0e4ff»>1</td>
<td bgcolor=»#c5ffa0″>2</td>
<td bgcolor=»#c0e4ff»>3</td>
</tr>
<tr>
<td bgcolor=»#c5ffa0″>4</td>
<td bgcolor=»#ffa0c5″>5</td>
<td bgcolor=»#c5ffa0″>6</td>
</tr>
<tr>
<td bgcolor=»#c0e4ff»>7</td>
<td bgcolor=»#c5ffa0″>8</td>
<td bgcolor=»#c0e4ff»>9</td>
</tr>
</table>
</center>
</body>
</html>

Выровняем текст:

Здесь появляется новый атрибут valign — Вертикальное выравнивание. До этого момента нам был знаком атрибут align — горизонтальное выравнивание.

<html>
<head>
<title>Выравнивание в таблице</title>
</head>
<body>
<center>
<table>
<tr>
<td bgcolor=»#c0e4ff» valign=»top»>1</td>
<td bgcolor=»#c5ffa0″ valign=»top»><center>2</center></td>
<td bgcolor=»#c0e4ff» align=»right» valign=»top»>3</td>
</tr>
<tr>
<td bgcolor=»#c5ffa0″>4</td>
<td bgcolor=»#ffa0c5″><center>5</center></td>
<td bgcolor=»#c5ffa0″ align=»right»>6</td>
</tr>
<tr>
<td bgcolor=»#c0e4ff» valign=»bottom»>7</td>
<td bgcolor=»#c5ffa0″ valign=»bottom»><center>8</center></td>
<td bgcolor=»#c0e4ff» align=»right» valign=»bottom»>9</td>
</tr>
</table>
</center>
</body>
</html>

Теперь о новых атрибутах.

Cellspacing — задаёт расстояние в пикселях между ячейками таблицы. Задав значение cellspacing=»0″ можно избавиться от «зазора» между ячейками.

Пример, увеличим «зазор»:

<html>
<head>
<title>Расстояние между ячейками</title>
</head>
<body>
<center>
<table cellspacing=»15″>
<tr>
<td bgcolor=»#c0e4ff» valign=»top»>1</td>
<td bgcolor=»#c5ffa0″ valign=»top»><center>2</center></td>
<td bgcolor=»#c0e4ff» align=»right» valign=»top»>3</td>
</tr>
<tr>
<td bgcolor=»#c5ffa0″>4</td>
<td bgcolor=»#ffa0c5″><center>5</center></td>
<td bgcolor=»#c5ffa0″ align=»right»>6</td>
</tr>
<tr>
<td bgcolor=»#c0e4ff» valign=»bottom»>7</td>
<td bgcolor=»#c5ffa0″ valign=»bottom»><center>8</center></td>
<td bgcolor=»#c0e4ff» align=»right» valign=»bottom»>9</td>
</tr>
</table>
</center>
</body>
</html>

Атрибут cellpadding (не путайте с cellspacing) — в пикселях задаёт поля ячеек (отступ от границ ячеек до текста)

Пример:

<html>
<head>
<title>Поля таблицы</title>
</head>
<body>
<center>
<table cellspacing=»0″ cellpadding=»25″>
<tr>
<td bgcolor=»#c0e4ff» valign=»top»>1</td>
<td bgcolor=»#c5ffa0″ valign=»top»><center>2</center></td>
<td bgcolor=»#c0e4ff» align=»right» valign=»top»>3</td>
</tr>
<tr>
<td bgcolor=»#c5ffa0″>4</td>
<td bgcolor=»#ffa0c5″><center>5</center></td>
<td bgcolor=»#c5ffa0″ align=»right»>6</td>
</tr>
<tr>
<td bgcolor=»#c0e4ff» valign=»bottom»>7</td>
<td bgcolor=»#c5ffa0″ valign=»bottom»><center>8</center></td>
<td bgcolor=»#c0e4ff» align=»right» valign=»bottom»>9</td>
</tr>
</table>
</center>
</body>
</html>

Отдельно, пожалуй, еще следует обратить внимание на так называемые вложенные таблицы, я уже говорил про то, что каждая отдельно взятая ячейка может служить емкостью для других тегов.. и тег <table> не является исключением. По сути можно вставить одну таблицу в другую..

Смотрим пример:

<html>
<head>
<title>Вложенная таблица</title>
</head>
<body>
<center>
<table border=»1″>
<tr>
<td colspan=»2″><center>Заголовок</center></td>
</tr>
<tr>
<td valign=»top»>содержание:</td>
<td valign=»top»>
<center>
<br><br>
В одну ячейку вложена целая таблица!!
<br><br><br>
<table cellspacing=»0″ cellpadding=»15″>
<tr>
<td bgcolor=»#c0e4ff» valign=»top»>1</td>
<td bgcolor=»#c5ffa0″ valign=»top»><center>2</center></td>
<td bgcolor=»#c0e4ff» align=»right» valign=»top»>3</td>
</tr>
<tr>
<td bgcolor=»#c5ffa0″>4</td>
<td bgcolor=»#ffa0c5″><center>5</center></td>
<td bgcolor=»#c5ffa0″ align=»right»>6</td>
</tr>
<tr>
<td bgcolor=»#c0e4ff» valign=»bottom»>7</td>
<td bgcolor=»#c5ffa0″ valign=»bottom»><center>8</center></td>
<td bgcolor=»#c0e4ff» align=»right» valign=»bottom»>9</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
</center>
</body>
</html>

Такой вот растянутый код получился… Сложно? Запутанно? Может быть на первый взгляд оно так и есть, но ведь не зря же я приводил столько примеров! Если что то не понятно вернитесь назад, перечитайте, идите от простого к более сложному и тогда всё станет на свои места! Практика — залог успеха. Не ленитесь, пробуйте писать код самостоятельно..

Ну и уже по традиции подвожу итог главы.. Итак, что у Вас там за страничка получилась..?

У меня она уже вот такая:

<html>
<head>
<title>Мой первый сайт </title>
</head>
<body text=»#484800″ bgcolor=»#ffffff» background=»graphics/fon.jpg»>
<center>
<table cellpadding=»5″ cellspacing=»2″ border=»1″>
<tr>
<td colspan=»3″ bgcolor=»#b2ff80″>
<center><img src=»graphics/privet.png» alt=»Привет мир!!!»></center>
</td>
</tr>
<tr>
<td bgcolor=»#ffa0cf»><center><b>Обо мне!!!</b></center></td>
<td bgcolor=»#c0e4ff»><center><b>Здесь мои фотки!!</b></center></td>
<td bgcolor=»#c0e4ff»><center><b>Напишите мне письмо..</b></center></td>
</tr>
<tr>
<td colspan=»3″ valign=»top» bgcolor=»#b2ff80″>
<p align=»justify»>
<img src=»graphics/foto.jpg» align=»left» hspace=»10″ alt=»Это моя фотка!!!» title=»Это моя фотка!!»>
&nbsp;&nbsp;&nbsp;Разрешите представиться Карлсон! который живет на крыше.
Спокойствие! Только спокойствие! подумаешь с жильём проблемы..<br> Я — умный, красивый, в меру упитанный мужчина, в полном расцвете сил! Женщины сходят по мне сходят с ума.. эх.. какая досада.. в общем со мной не соскучишься..
</p>
<p>&nbsp;&nbsp;&nbsp;По телевизору показывают жуликов… Ну чем я хуже?! — так что вот решил сделать свою страничку!</p>
<p>&nbsp;&nbsp;&nbsp;Хочу здесь найти себе новых друзей, для того чтобы вместе гулять по крышам!</p>
<p>&nbsp;&nbsp;&nbsp;Я очень очень сильно люблю <font size=»+1″ color=»#ff0000″> варенье</font> !!! С нетерпеньем буду ждать Вашего приглашения на чай.. побалуемся плюшками… пошалим…</p>
<center><b>Прилечу!!</b></center>
<p>&nbsp;&nbsp;Ну зачем тебе этот щенок? Я же лучше, Малыш…</p>
</td>
</tr>
</table>
</center>
</body>
</html>

Читайте так же: И снова таблицы..

  • При создании больших сложных таблиц рекомендую сначала рисовать их на бумаге. Так будет удобнее представить её общую картину, подсчитать количество строк и столбцов, увидеть с какой ячейки и на какое количество следует растягивать «объединять» те или иные ячейки.

  • При выборе будущих размеров Вашей страницы, особенно это касается её ширины (атрибут width), ориентируйтесь на стандартные разрешения мониторов 640 на 480, 800 на 600, 1024 на 768… Но самое главное помните, что у разных пользователей в зависимости от их мониторов и зрения выставлены разные разрешения и если указанные Вами размеры будут выходить за их рамки то соответственно на экранах таких пользователей будут появляться полосы прокрутки. Вертикальная полоса это беда нестрашная, благо колёсико на мышке придумали, да и пишут у нас слева направо, а не сверху вниз.. а вот горизонтальная полоса прокрутки уже вызывает значительные неудобства при чтении страницы.. Так что не советую указывать большую ширину страницы. По-моему ширина в 1024 пикселей будет оптимальным размером… хотя… ну да ладно.. решайте сами.

HTML таблицы продвинутые возможности и доступность — Изучение веб-разработки

Во второй статье этого модуля мы рассматриваем ещё несколько продвинутых возможностей в HTML таблицах — такие как заголовок/описание и группировка строк внутри head, body и footer секциях таблицы, а также доступность таблиц для пользователей с ограниченными возможностями.

Необходимые знания:Базовый HTML (Введение в HTML).
Цель:Изучить более продвинутые возможности HTML таблиц и их доступность.

Вы можете добавить заголовок для таблицы установив его в элементе <caption> и этот элемент необходимо поместить внутрь  элемента <table> (en-US). Причём вам нужно поместить его сразу после открытия тега <table>.

<table>
  <caption>Dinosaurs in the Jurassic period</caption>

  ...
</table>

Как можно понять из короткого примера выше, заголовок отражает в себе описание контента таблицы. Это полезно для всех читателей просматривающих страницу и желающих получить краткое представление от том полезна ли для них таблица,  что особенно важно для слепых пользователей. Вместо того чтобы читать содержимое множества ячеек чтобы понять о чем таблица, он или она могут полагаться на заголовок и принимать решение читать ли таблицу более подробно.

Заголовок помещают сразу после тега <table>.

Примечание: Атрибут summary (en-US) также может быть использован в <table> элементе предоставляя описание — это также читается скринридерами. Однако мы рекомендуем вместо этого использовать <caption> элемент, так как summary deprecated в HTML5 спецификации и не может быть прочитан зрячими пользователями (он не отображается на странице).

Упражнение: Добавление заголовка

Давайте попробуем это, вернёмся к примеру который мы ранее встретили в прошлой статье.

  1. Откройте расписание занятий школьного учителя по языку в конце статьи HTML таблицы основы, или сделайте копию нашего timetable-fixed.html файла.
  2. Добавьте подходящий заголовок к таблице.
  3. Сохраните свой код и откройте его в браузере, чтобы посмотреть как это выглядит.

Когда таблицы становятся более сложными по структуре полезно дать им более структурированное определение. Отличный способ  сделать это используя <thead> (en-US), <tfoot> и <tbody> (en-US), которые позволяют вам разметить header, footer и body секции таблицы.

Эти элементы не создают дополнительной доступности для пользователей со скринридерами и не приводят к какому-то визуальному улучшению при их использовании. Зато они очень полезны при стилизации и разметке, как точки для добавления CSS к вашей таблице. Вот несколько интересных примеров, в случае длинной таблицы вы можете сделать header и footer таблицы повторяемый на каждой печатной странице, или вы можете сделать body таблицы отображаемое на одной странице и иметь доступ ко всему содержимому контенту прокручивая вверх и вниз.

Использование:

  • Элементом <thead> нужно обернуть часть таблицы которая относится к заголовку — обычно это первая строка содержащая заголовки колонок, но это не обязательно всегда такой случай. Если вы используете <col>/<colgroup> (en-US) элемент, тогда заголовок должен находиться ниже его.
  • Элементом <tfoot> нужно обернуть ту часть, которая относится к footer таблицы — например, это может быть последняя строка в которой отражаются суммы по столбцам таблицы. Вы можете включить сюда footer таблицы, как и следовало ожидать, или чуть ниже заголовка таблицы (браузер всё равно отобразит его внизу таблицы).
  • Элементом <tbody> необходимо обернуть остальную часть содержимого таблицы которая не находится в header или footer таблицы. Этот блок располагают ниже заголовка таблицы или иногда footer таблицы, зависит от того какую структуру вы решите использовать (читать выше по тексту).

Примечание: <tbody> всегда включён в каждой таблице, неявно если не укажете его в коде. Проверьте это, открыв один из предыдущих примеров в котором не используется <tbody> и посмотрите HTML код в browser developer tools — вы увидите, что браузер добавил этот тег самостоятельно. Вы могли бы задаться вопросом почему мы должны волноваться о его включении, но вы должны, потому что это даёт больше контроля над структурой таблицы и стилем.

Упражнение: Добавление структуры таблицы

Давайте используем эти новые элементы.

  1. В первую очередь,  сделайте копию spending-record.html и minimal-table.css в новой папке.
  2. Попробуйте открыть это в браузере — вы увидите, что все выглядит классно, но могло бы быть лучше. Строка «SUM» которая содержит потраченные суммы кажется находится не в том месте и некоторые детали отсутствуют в коде.
  3. Поместите очевидную строку заголовка внутрь <thead> элемента, строку «SUM» внутрь <tfoot> элемента и оставшийся контент внутрь <tbody> элемента.
  4. Сохраните, перезагрузите и вы увидите, что добавление элемента <tfoot> привело к тому,  что строка «SUM» опустилась к нижней части таблицы.
  5. Далее, добавьте атрибут colspan, чтобы ячейка «SUM» занимала первые четыре столбца, таким образом числовое значение «Cost» появится в последнем столбце.
  6. Давайте добавим несколько простых дополнительных стилей к таблице, чтобы дать вам представление насколько эти элементы полезны при использовании CSS. Внутри в <head> вашего HTML документа вы увидите пустой элемент <style>. Внутри этого элемента добавьте следующие строки CSS кода:
    tbody {
      font-size: 90%;
      font-style: italic;
    }
    
    tfoot {
      font-weight: bold;
    }
    
  7. Сохраните, обновите и вы увидите результат. Если <tbody> и <tfoot> элементы не были установлены, то вам придётся писать много сложных селекторов/правил для применения одного и того же стиля.

Примечание: Мы не ожидаем что сейчас вы полностью поймёте CSS. Вы узнаете больше когда пройдёте наши CSS курсы (например, Вступление в CSS это хорошее место для начала; у нас также есть статья конкретно о стилизации таблиц).

Ваша готовая таблица должна выглядеть примерно так:

В одну таблицу вкладывать другую таблицу возможно, если вы используете полную структуру включая элемент <table>. Это как правило не рекомендуется, так как делает разметку более запутанной и менее доступной для пользователей скринридеров, так в большинстве случаев вы можете просто вставить дополнительные ячейки/строки/столбцы в существующую таблицу. Однако, иногда это необходимо, например, если вы хотите легко импортировать контент из других источников.

Разметка простой вложенной таблицы:

<table>
  <tr>
    <th>title1</th>
    <th>title2</th>
    <th>title3</th>
  </tr>
  <tr>
    <td>
      <table>
        <tr>
          <td>cell1</td>
          <td>cell2</td>
          <td>cell3</td>
        </tr>
      </table>
    </td>
    <td>cell2</td>
    <td>cell3</td>
  </tr>
  <tr>
    <td>cell4</td>
    <td>cell5</td>
    <td>cell6</td>
  </tr>
</table>

Результат которого выглядит примерно так:

title1title2title3
cell2cell3
cell4cell5cell6

Давайте кратко опишем как мы используем данные таблицы. Таблицы могут быть удобным инструментом, который даёт нам быстрый доступ к данным и позволяет искать разные значения. Например, быстрого взгляда на таблицу ниже достаточно, чтобы найти сколько колец было продано в Амстердаме в августе 2016. Чтобы понять эту информацию, мы проводим визуальные ассоциации между данными в этой таблице и её заголовками колонок и/или строк.

Items Sold August 2016
ClothesAccessories
TrousersSkirtsDressesBraceletsRings
BelgiumAntwerp5622437223
Gent4618506115
Brussels5127386928
The NetherlandsAmsterdam8934698538
Utrecht8012433619

Но что если вы не можете провести эти визуальные ассоциации? Как тогда вы сможете прочитать таблицу выше? Люди с ослабленным зрением часто используют скринридер, который читает им информацию с веб-страницы. Это не проблема когда вы читаете простой текст, но интерпретация таблицы может быть сложной проблемой для слепых людей. Тем не менее, вместе с правильной разметкой мы можем заменить визуальные ассоциации программными.

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

Использование заголовков столбцов и строк

Скринридеры будут определять все заголовки и использовать их создавая программные ассоциации между этими заголовками и ячейками к которым они относятся. Сочетание заголовков столбцов и строк будет определять и интерпретировать данные в каждой ячейке так, что пользователи скринридеров могут интерпретировать таблицу также как это делают зрячие пользователи.

Мы уже разобрали заголовки в предыдущей статье, смотри по ссылке Добавление заголовков с помощью элемента <th>.

Атрибут scope

Новая тема в этой статье это атрибут scope (en-US), который может быть добавлен к элементу <th> он сообщает скринридеру какие ячейки точно являются заголовками — например, заголовок строки в которой он находится или столбца. Возвращаясь назад к нашему примеру с записями расходов, вы могли однозначно определить заголовки столбцов как здесь:

<thead>
  <tr>
    <th scope="col">Purchase</th>
    <th scope="col">Location</th>
    <th scope="col">Date</th>
    <th scope="col">Evaluation</th>
    <th scope="col">Cost (€)</th>
  </tr>
</thead>

И у каждой строки может быть определён заголовок, как здесь (если мы добавили заголовки строк и заголовки столбцов):

<tr>
  <th scope="row">Haircut</th>
  <td>Hairdresser</td>
  <td>12/09</td>
  <td>Great idea</td>
  <td>30</td>
</tr>

Скринридер распознает разметку структурированную таким образом, что позволяют пользователям прочитать весь столбец или строку целиком.

Атрибут scope имеет ещё два возможных значения — colgroup и rowgroup. Они используются для заголовков, которые располагаются вверху ваших столбцов или строк. Если вы посмотрите на таблицу «Items sold…» в начале этого раздела статьи, вы увидите что ячейка с «Clothes» находится над ячейками «Trousers», «Skirts» и «Dresses». Все эти ячейки должны быть помечены как заголовки (<th>), но «Clothes»  заголовок который находится сверху и определяет остальные три подзаголовка. Поэтому «Clothes» должна получить атрибут scope="colgroup", тогда как другие получат атрибут scope="col".

Альтернатива атрибута scope это использование атрибутов id и headers задавая ассоциации между заголовками и ячейками. Этот способ выглядит следующим образом:

  1. Вы устанавливаете уникальный id для каждого<th> элемента.
  2. Вы устанавливаете атрибут headers для каждого <td> элемента. Каждый headers атрибут должен содержать список всех id , разделённый пробелами, ко всем <th> элементам которые действуют как заголовок для этой ячейки.

Это обеспечивает явное определение позиции для каждой ячейки вашей HTML таблицы, определяет заголовки столбцов и строк таблицы. Для того чтобы это работало реально хорошо таблице нужно определить и заголовки столбцов, и заголовки строк.

Вернёмся к нашему примеру с расчётом затрат, его можно переписать следующим образом:

<thead>
  <tr>
    <th>Purchase</th>
    <th>Location</th>
    <th>Date</th>
    <th>Evaluation</th>
    <th>Cost (€)</th>
  </tr>
</thead>
<tbody>
<tr>
  <th>Haircut</th>
  <td headers="location haircut">Hairdresser</td>
  <td headers="date haircut">12/09</td>
  <td headers="evaluation haircut">Great idea</td>
  <td headers="cost haircut">30</td>
</tr>

  ...

</tbody>

Примечание: Этот метод создания очень точного определения ассоциаций между заголовками и данными в ячейках, но использует гораздо больше разметки и оставляет обширное пространство для ошибок.  Атрибута scope обычно достаточно для большинства таблиц.

  1. Для заключительного упражнения мы, вначале создадим копию items-sold.html и minimal-table.css в новой папке.
  2. Теперь попробуем добавить соответствующий атрибут scope, который наиболее соответствует этой таблице.
  3. И наконец попробуем сделать другую копию изначальных файлов, на этот раз делая таблицу более доступной используя атрибуты id и headers.

Есть ещё некоторые вещи которые можно узнать о HTML таблицах, но мы действительно дали всё что нужно на настоящий момент. Дальше вы возможно захотите больше узнать о стилизации HTML таблиц, посмотрите Styling Tables.

Как создать таблицу в HTML5 и указать её параметры через стили?

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
8.0+1.0+4.0+1.0+1.0+1.0+1.0+

Задача

Создать таблицу и указать её параметры (поля и расстояние между ячейками) через стили.

Решение

Таблица состоит из строк и столбцов ячеек, которые могут содержать текст и рисунки. Для добавления таблицы на веб-страницу используется тег <table>. Этот элемент служит контейнером для элементов, определяющих содержимое таблицы. Любая таблица состоит из строк и ячеек, которые задаются соответственно с помощью тегов <tr> и <td>. Таблица должна содержать хотя бы одну ячейку (пример 1). Допускается вместо тега <td> использовать тег <th>. Текст в ячейке, оформленной с помощью тега <th>, отображается браузером шрифтом жирного начертания и выравнивается по центру ячейки. В остальном, разницы между ячейками, созданными через теги <td> и <th> нет.

Пример 1. Создание таблицы

HTML5IECrOpSaFx

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тег table</title>
 </head>
 <body>
  <table border="1">
   <tr>
    <th>Ячейка 1</th>
    <th>Ячейка 2</th>
   </tr>
   <tr>
    <td>Ячейка 3</td>
    <td>Ячейка 4</td>
  </tr>
 </table>
 </body>
</html>

Порядок расположения ячеек и их вид показан на рис. 1.

Рис. 1. Результат создания таблицы с четырьмя ячейками

Атрибут border тега <table> допустимо добавлять только с пустым значением (<table border>) или равным 1. Все остальные значения не проходят валидацию.

Для управления полями внутри ячеек используется стилевое свойство padding, которое добавляется к селектору td. Расстояние между ячейками меняется свойством border-spacing (пример 2) добавляемым к селектору table, браузер IE понимает его только с версии 8.0.

Пример 2. Поля внутри ячеек

HTML5CSS 2.1IECrOpSaFx

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тег table</title>
  <style>
   table {
    width: 100%; /* Ширина таблицы */
    background: white; /* Цвет фона таблицы */
    color: white; /* Цвет текста */
    border-spacing: 1px; /* Расстояние между ячейками */
   }
   td, th {
    background: maroon; /* Цвет фона ячеек */
    padding: 5px; /* Поля вокруг текста */
   }
  </style>
 </head> 
 <body>
  <table>
   <tr><th>Заголовок 1</th><th>Заголовок 2</th></tr>
   <tr><td>Ячейка 3</td><td>Ячейка 4</td></tr>
  </table>
 </body>
</html>

Таблица с полями и расстоянием между ячейками показана на рис. 2. Аналогичного результата можно добиться и с помощью рамки белого цвета вокруг ячеек.

Рис. 2. Поля в ячейках таблицы

Таблицы HTML уроки для начинающих академия

Пример таблицы HTML

КомпанииКонтактыСтраны
Alfreds FutterkisteMaria AndersGermany
Centro comercial MoctezumaFrancisco ChangMexico
Ernst HandelRoland MendelAustria
Island TradingHelen BennettUK
Laughing Bacchus WinecellarsYoshi TannamuriCanada
Magazzini Alimentari RiunitiGiovanni RovelliItaly

Определение таблицы HTML

Таблица HTML определяется тегом <table>.

Каждая строка таблицы определяется тегом <tr>. Заголовок таблицы определяется с помощью тега <th>. По умолчанию заголовки таблиц являются полужирными и центрированными. Табличные данные/ячейки определяются с помощью
<td> тега.

Пример

<table>
 
<tr>
    <th>Firstname</th>
    <th>Lastname</th>
    <th>Age</th>
 
</tr>
 
<tr>
    <td>Jill</td>
    <td>Smith</td>
    <td>50</td>
 
</tr>
  <tr>
    <td>Eve</td>
    <td>Jackson</td>
    <td>94</td>
  </tr>
</table>

Примечание: Элементы <td> являются контейнерами данных таблицы.
Они могут содержать все виды HTML-элементов; текст, изображения, списки, другие таблицы, etc.



Таблица HTML-Добавление границы

Если граница для таблицы не указана, она будет отображаться без границ.

Граница задается с помощью свойства CSS border:

Пример

table, th, td
{
   
border: 1px solid black;
}

Не забывайте определять границы как для таблицы, так и для ячеек таблицы.


Таблица HTML-свернутые границы

Если требуется свернуть границы в одну границу, добавьте свойство CSS border-collapse:

Пример

table, th, td {
    border: 1px solid black;
   
border-collapse: collapse;
}


Таблица HTML-Добавление заполнения ячеек

Заполнение ячеек определяет пространство между содержимым ячейки и ее границами.

Если заполнение не задано, ячейки таблицы будут отображаться без заполнения.

Чтобы задать заполнение, используйте свойство CSS padding:

Пример

th, td {
    padding: 15px;
}


Таблица HTML-заголовки по левому краю

По умолчанию заголовки таблиц являются полужирными и центрированными.

Чтобы выровнять заголовки таблицы по левому краю, используйте свойство CSS text-align:

Пример

th {
    text-align: left;
}


Таблица HTML-Добавление интервала границы

Интервал между границами определяет расстояние между ячейками.

Чтобы задать интервал границы для таблицы, используйте свойство CSS border-spacing:

Пример

table {
    border-spacing: 5px;
}

Примечание: Если таблица имеет свернутые границы, border-spacing не имеет эффекта.


Таблицы HTML-ячейки, охватывающие множество столбцов

Чтобы сделать ячейку, охватывающую более одного столбца, используйте атрибут colspan:

Пример

<table>
  <tr>
    <th>Name</th>
   
<th colspan=»2″>Telephone</th>
  </tr>
  <tr>
   
<td>Bill Gates</td>
    <td>55577854</td>
   
<td>55577855</td>
  </tr>
</table>


Таблицы HTML-ячеек, которые охватывают много строк

Чтобы сделать ячейку, охватывающую более одной строки, используйте атрибут rowspan:

Пример

<table>
  <tr>
    <th>Name:</th>
    <td>Bill Gates</td>
  </tr>
 
<tr>
    <th rowspan=»2″>Telephone:</th>
   
<td>55577854</td>
  </tr>
  <tr>
   
<td>55577855</td>
  </tr>
</table>


Таблица HTML-Добавление заголовка

Чтобы добавить подпись к таблице, используйте тег <caption>:

Пример

<table>
  <caption>Monthly savings</caption>
  <tr>
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td>January</td>
    <td>$100</td>
  </tr>
  <tr>
    <td>February</td>
    <td>$50</td>
  </tr>
</table>

Примечание: Тег <caption> должен быть вставлен сразу после тега <table>.


Особый стиль для одного стола

Чтобы определить специальный стиль для специальной таблицы, добавьте в таблицу атрибут id:

Пример

<table>
  <tr>
    <th>Firstname</th>
    <th>Lastname</th>
    <th>Age</th>
  </tr>
  <tr>
    <td>Eve</td>
    <td>Jackson</td>
    <td>94</td>
  </tr>
</table>

Теперь вы можете определить особый стиль для этой таблицы:

table#t01 {
    width: 100%;
    background-color: #f1f1c1;
}

И добавить больше стилей:

table#t01 tr:nth-child(even) {
    background-color: #eee;
}
table#t01 tr:nth-child(odd) {
    background-color: #fff;
}
table#t01 th {
   
color: white;
    background-color: black;
}


Справка

  • Используйте элемент HTML <table> для определения таблицы
  • Используйте элемент HTML <tr> для определения строки таблицы
  • Используйте элемент HTML <td> для определения табличных данных
  • Используйте элемент HTML <th> для определения заголовка таблицы
  • Используйте элемент HTML <caption> для определения заголовка таблицы
  • Используйте свойство CSS border для определения границы
  • Используйте свойство CSS border-collapse для свертывания границ ячеек
  • Используйте свойство CSS padding для добавления заполнения в ячейки
  • Используйте свойство CSS text-align для выравнивания текста ячейки
  • Используйте свойство CSS border-spacing для задания интервала между ячейками
  • Используйте атрибут colspan чтобы сделать ячейку span много столбцов
  • Используйте атрибут rowspan чтобы сделать ячейку, охватывающую много строк
  • Используйте атрибут id для однозначного определения одной таблицы

  • Теги таблицы HTML

    ТегОписание
    <table>Определяет таблицу
    <th>Определяет ячейку заголовка в таблице
    <tr>Определяет строку в таблице
    <td>Определяет ячейку в таблице
    <caption>Определяет заголовок таблицы
    <colgroup>Задает группу из одного или нескольких столбцов в таблице для форматирования
    <col>Задает свойства столбца для каждого столбца в элементе <colgroup>
    <thead>Группирует содержимое заголовка в таблице
    <tbody>Группирует содержимое тела в таблице
    <tfoot>Группирует содержимое нижнего колонтитула в таблице

HTML-тег таблицы

Пример

Простая таблица HTML, содержащая два столбца и две строки:

<таблица>

Месяц

Экономия

Январь

г.

100

Попробуй сам »

Дополнительные примеры «Попробуйте сами» ниже.


Определение и использование

Тег

определяет таблицу HTML.

Таблица HTML состоит из одного элемента

и одного или нескольких элементов

,
Элементы

определяет строку таблицы, элемент

,

,
Элементы

и

.


Поддержка браузера

и

.

Элемент

определяет заголовок таблицы, а
Элемент

определяет ячейку таблицы.

Таблица HTML может также включать

,

Элемент
<таблица> Есть Есть Есть Есть Есть

Глобальные атрибуты

Тег

также поддерживает глобальные атрибуты в HTML.


Атрибуты событий

Тег

также поддерживает атрибуты событий в HTML.



Другие примеры

Пример

Как добавить свернутые границы в таблицу (с помощью CSS):

table, th, td {
border: 1px сплошной
чернить;
граница-коллапс: коллапс;
}

<таблица>

Месяц Экономия
январь 100
февраль 80 долларов


Попробуй сам »

Пример

Как выровнять таблицу по правому краю (с помощью CSS):

<таблица>

Месяц

Экономия

январь

100

февраль

80 долларов

Попробуй сам »

Пример

Как выровнять таблицу по центру (с помощью CSS):

table, th, td {
border: 1px сплошной
чернить;
}
стол.по центру {
маржа-слева: авто;
маржа-право: авто;
}

<таблица >

Месяц

Экономия

январь

100

февраль

80 долларов

Попробуй сам »

Пример

Как добавить цвет фона в таблицу (с помощью CSS):

<таблица>

Месяц

Экономия

январь

100

февраль

80 долларов

Попробуй сам »

Пример

Как добавить отступ в таблицу (с помощью CSS):

table, th, td {
border: 1px сплошной
чернить;
}

th, td {
padding: 10px;
}


Месяц Экономия
январь 100
февраль 80 долларов


Попробуй сам »

Пример

Как установить ширину таблицы (с помощью CSS):

<таблица>

Месяц

Экономия

январь

100

февраль

80 долларов

Попробуй сам »

Пример

Как создать заголовки таблиц:

Имя Электронная почта Телефон
Джон Доу джон[email protected] 123-45-678

Попробуй сам »

Пример

Как создать таблицу с подписью:

<таблица>

Ежемесячная экономия

Месяц

Экономия

январь

100

февраль

80 долларов

Попробуй сам »

Пример

Как определить ячейки таблицы, охватывающие более одной строки или одного столбца:

Имя Электронная почта Телефон
Джон Доу джон[email protected] 123-45-678 212-00-546

Попробуй сам »


связанные страницы

Учебное пособие по HTML: таблицы HTML

Ссылка на HTML DOM: объект таблицы

Учебное пособие по CSS: таблицы стилей


Настройки CSS по умолчанию

Большинство браузеров будут отображать элемент

со следующими значениями по умолчанию:

Пример

стол {
дисплей: стол;
бордюр-обвал: раздельный;
border-spacing: 2px;
бордюрный цвет: серый;
}

Попробуй сам »

Основы работы с таблицами HTML — Изучение веб-разработки

Эта статья поможет вам начать работу с HTML-таблицами, охватывая самые основы, такие как строки и ячейки, заголовки, создание ячеек, охватывающих несколько столбцов и строк, и то, как сгруппировать вместе все ячейки в столбце для целей стилизации.

Предварительные требования: Основы HTML (см. Введение в HTML).
Цель: Для базового знакомства с таблицами HTML.

Таблица — это структурированный набор данных, состоящий из строк и столбцов ( табличных данных, ). Таблица позволяет вам быстро и легко находить значения, которые указывают на некую связь между различными типами данных, например, человеком и его возрастом, или днем ​​недели, или расписанием местного плавательного бассейна.

Таблицы

очень широко используются в человеческом обществе и использовались в течение долгого времени, о чем свидетельствует этот документ переписи населения США от 1800:

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

Как работает стол?

Особенность стола в том, что он жесткий. Информация легко интерпретируется путем создания визуальных ассоциаций между заголовками строк и столбцов.Посмотрите, например, на приведенную ниже таблицу и найдите газового гиганта Юпитера с 62 лунами. Вы можете найти ответ, связав соответствующие заголовки строк и столбцов.

Данные о планетах нашей солнечной системы (Факты о планетах взяты из Таблицы данных о планетах НАСА — метрическая система.
Имя Масса (10 24 кг) Диаметр (км) Плотность (кг / м 3 ) Плотность (м / с 2 ) Продолжительность дня (часы) Расстояние от Солнца (10 6 км) Средняя температура (° C) Количество лун Банкноты
Планеты Земли Меркурий 0.330 4 879 5427 3,7 4222,6 57,9 167 0 Ближайший к Солнцу
Венера 4,87 12 104 5243 8,9 2802,0 108,2 464 0
Земля 5,97 12 756 5514 9.8 24,0 149,6 15 1 Наш мир
Марс 0,642 6 792 3933 3,7 24,7 227,9-65 2 Красная планета
планет Юпитера Газовые гиганты Юпитер 1898 142 984 1326 23.1 9,9 778,6 -110 67 Самая большая планета
Сатурн 568 120 536 687 9,0 10,7 1433,5 -140 62
Ледяные гиганты Уран 86,8 51,118 1271 8,7 17.2 2872,5 -195 27
Нептун 102 49 528 1638 11,0 16,1 4495,1 -200 14
Карликовые планеты Плутон 0,0146 2,370 2095 0,7 153,3 5906.4 -225 5 Рассекречен как планета в 2006 году, но это остается спорным моментом.

Если все сделано правильно, даже слепые люди могут интерпретировать табличные данные в таблице HTML — успешная таблица HTML должна улучшить впечатления как зрячих, так и слабовидящих пользователей.

Стиль таблицы

Вы также можете посмотреть живой пример на GitHub! Вы заметите, что таблица там выглядит немного более читабельной — это потому, что таблица, которую вы видите выше на этой странице, имеет минимальный стиль, тогда как в версии GitHub применен более значительный CSS.

Не питайте иллюзий; Чтобы таблицы были эффективны в Интернете, вам необходимо предоставить некоторую информацию о стилях с помощью CSS, а также хорошую прочную структуру с помощью HTML. В этом модуле мы сосредоточены на части HTML; чтобы узнать о части CSS, вы должны посетить нашу статью о таблицах стилей после того, как вы закончите здесь.

Мы не будем фокусироваться на CSS в этом модуле, но мы предоставили вам минимальную таблицу стилей CSS, которая сделает ваши таблицы более удобочитаемыми, чем стандартные, которые вы получаете без каких-либо стилей.Вы можете найти здесь таблицу стилей, а также можете найти HTML-шаблон, который применяет эту таблицу стилей — вместе они станут хорошей отправной точкой для экспериментов с HTML-таблицами.

Когда НЕ следует использовать HTML-таблицы?

Таблицы HTML должны использоваться для табличных данных — это то, для чего они предназначены. К сожалению, многие люди использовали HTML-таблицы для компоновки веб-страниц, например одна строка для заголовка, одна строка для столбцов содержимого, одна строка для нижнего колонтитула и т. д.Вы можете найти более подробную информацию и пример в разделе «Макеты страниц» нашего учебного модуля по специальным возможностям. Это часто использовалось, потому что поддержка CSS в браузерах была ужасной; макеты таблиц в наши дни встречаются гораздо реже, но вы все равно можете встретить их в некоторых уголках сети.

Короче говоря, использование таблиц для разметки, а не методов разметки CSS — плохая идея. Основные причины следующие:

  1. Таблицы макета уменьшают доступность для пользователей с ослабленным зрением : Программы чтения с экрана, используемые слепыми, интерпретируют теги, существующие на странице HTML, и зачитывают содержимое для пользователя.Поскольку таблицы не являются подходящим инструментом для разметки, а разметка сложнее, чем при использовании методов разметки CSS, вывод программ чтения с экрана будет сбивать с толку их пользователей.
  2. Таблицы создают суп тегов : Как упоминалось выше, макеты таблиц обычно включают более сложные структуры разметки, чем правильные методы макета. Это может привести к тому, что код будет сложнее писать, поддерживать и отлаживать.
  3. Таблицы не реагируют автоматически : при использовании правильных контейнеров макета (например,
    ,

    ,

    или

    ) их ширина по умолчанию равна 100%. своего родительского элемента.Таблицы, с другой стороны, по умолчанию имеют размер в соответствии с их содержимым, поэтому необходимы дополнительные меры, чтобы стиль макета таблицы эффективно работал на различных устройствах.

Мы достаточно поговорили о теории таблиц, поэтому давайте погрузимся в практический пример и построим простую таблицу.

  1. Прежде всего, создайте локальную копию blank-template.html и minimal-table.css в новом каталоге на вашем локальном компьютере.
  2. Содержимое каждой таблицы заключено в эти два тега:

    .Добавьте их в тело вашего HTML.

  3. Самый маленький контейнер внутри таблицы — это ячейка таблицы, которая создается элементом («td» означает «данные таблицы»). Добавьте в теги таблицы следующее:

       Привет, я твоя первая сотовая.   
  4. Если нам нужна строка из четырех ячеек, нам нужно скопировать эти теги три раза. Обновите содержимое вашей таблицы, чтобы оно выглядело так:
       Привет, я твоя первая сотовая.
     Я твоя вторая камера. 
     Я твоя третья камера. 
     Я твоя четвертая камера.   

Как вы увидите, ячейки не размещаются друг под другом, а автоматически выравниваются друг с другом в одной строке. Каждый элемент

создает одну ячейку, и вместе они составляют первую строку. Каждая добавляемая ячейка увеличивает длину строки.

Чтобы остановить рост этой строки и начать размещение последующих ячеек во второй строке, нам нужно использовать элемент

(«tr» означает «строка таблицы»).Давайте сейчас исследуем это.

  1. Поместите четыре ячейки, которые вы уже создали, в теги
    , например:

      
       Привет, я твоя первая ячейка. 
       Я твоя вторая камера. 
       Я твоя третья камера. 
       Я твоя четвертая камера. 
      
  2. Теперь вы создали одну строку, попробуйте создать еще одну или две — каждая строка должна быть заключена в дополнительный элемент
    , при этом каждая ячейка содержится в

    .

Результат

В результате должна получиться таблица, которая выглядит примерно так:

  <таблица>
  
     Привет, я твоя первая ячейка. 
     Я твоя вторая камера. 
     Я твоя третья камера. 
     Я твоя четвертая камера. 
  

  
     Вторая строка, первая ячейка. 
     Ячейка 2 
     Ячейка 3 
     Ячейка 4.
  

  
  таблица {
    граница-коллапс: коллапс;
  }
  td, th {
    граница: сплошной черный 1px;
    отступ: 10 пикселей 20 пикселей;
  }
  

Теперь давайте обратим наше внимание на заголовки таблиц — специальные ячейки, которые идут в начале строки или столбца и определяют тип данных, содержащихся в строке или столбце (например, см. Ячейки «Человек» и «Возраст» в первый пример, показанный в этой статье). Чтобы проиллюстрировать, почему они полезны, взгляните на следующий пример таблицы.Сначала исходный код:

  <таблица>
  
     & nbsp; 
     Клоки 
     Флор 
     Элла 
     Хуан 
  
  
     Порода 
     Джек Рассел 
     Пудель 
     Streetdog 
     Кокер-спаниель 
  
  
     Возраст 
     16 
     9 
     10 
     5 
  
  
     Владелец 
     Свекровь 
     Я 
     Я 
     Невестка 
  
  
     Привычки в еде 
     Ест все, что осталось 
     Кусочки еды 
     Сытный поесть 
     Будет есть, пока не взорвется 
  
  
  таблица {
    граница-коллапс: коллапс;
  }
  td, th {
    граница: сплошной черный 1px;
    отступ: 10 пикселей 20 пикселей;
  }
  

Фактическая визуализированная таблица:

Проблема здесь в том, что, хотя вы можете понять, что происходит, не так просто сделать перекрестные ссылки на данные, как это могло бы быть.Если бы заголовки столбцов и строк чем-то выделялись, было бы намного лучше.

Попробуем улучшить эту таблицу.

  1. Сначала создайте локальную копию наших файлов dog-table.html и minimal-table.css в новом каталоге на вашем локальном компьютере. HTML содержит тот же пример Dogs, который вы видели выше.
  2. Чтобы распознать заголовки таблицы как заголовки, как визуально, так и семантически, вы можете использовать элемент (th означает «заголовок таблицы»).Это работает точно так же, как

    , за исключением того, что обозначает заголовок, а не обычную ячейку. Войдите в свой HTML и измените все элементы

    , окружающие заголовки таблицы, на элементы

    .
  3. Сохраните свой HTML и загрузите его в браузер, и вы должны увидеть, что заголовки теперь выглядят как заголовки.

Мы уже частично ответили на этот вопрос — легче найти данные, которые вы ищете, когда заголовки четко выделяются, а дизайн в целом выглядит лучше.

Примечание : Заголовки таблиц имеют некоторый стиль по умолчанию — они выделены жирным шрифтом и центрированы, даже если вы не добавляете свой собственный стиль к таблице, чтобы помочь им выделиться.

Заголовки таблиц

также имеют дополнительное преимущество — наряду с атрибутом scope (о котором мы узнаем в следующей статье) они позволяют сделать таблицы более доступными, связывая каждый заголовок со всеми данными в одной строке или столбец. Затем программы чтения с экрана могут считывать сразу целую строку или столбец данных, что очень полезно.

Иногда нам нужно, чтобы ячейки занимали несколько строк или столбцов. Возьмем следующий простой пример, в котором показаны названия обычных животных. В некоторых случаях мы хотим отображать имена самцов и самок рядом с именем животного. Иногда мы этого не делаем, и в таких случаях мы просто хотим, чтобы имя животного охватывало всю таблицу.

Начальная разметка выглядит так:

  <таблица>
  
     Животные 
  
  
     Бегемот 
  
  
     Лошадь 
     Кобыла 
  
  
     Жеребец 
  
  
     Крокодил 
  
  
     Курица 
     Курица 
  
  
     Петух 
  
  
  таблица {
    граница-коллапс: коллапс;
  }
  td, th {
    граница: сплошной черный 1px;
    отступ: 10 пикселей 20 пикселей;
  }
  

Но результат не дает нам того, что мы хотим:

Нам нужен способ, чтобы «Животные», «Бегемот» и «Крокодил» занимали две колонки, а «Лошадь» и «Курица» — две строки вниз.К счастью, заголовки и ячейки таблицы имеют атрибуты colspan и rowspan , которые позволяют нам делать именно эти вещи. Оба принимают безразмерное числовое значение, равное количеству строк или столбцов, которые вы хотите охватить. Например, colspan = "2" делает ячейку занимающей два столбца.

Давайте используем colspan и rowspan , чтобы улучшить эту таблицу.

  1. Сначала создайте локальную копию наших animals-table.html и minimal-table.css в новом каталоге на вашем локальном компьютере. HTML содержит тот же пример животных, который вы видели выше.
  2. Затем используйте colspan , чтобы разделить «Животные», «Бегемот» и «Крокодил» на два столбца.
  3. Наконец, используйте rowspan , чтобы сделать «Horse» и «Chicken» на двух строках.
  4. Сохраните и откройте свой код в браузере, чтобы увидеть улучшения.

Стиль без

Есть еще одна особенность, о которой мы расскажем вам в этой статье, прежде чем мы продолжим.В HTML есть метод определения информации о стилях для всего столбца данных в одном месте — элементы

и

. Они существуют, потому что необходимость указывать стили для столбцов может быть немного раздражающей и неэффективной — обычно вам нужно указывать информацию о стилях на каждые

или

в столбце или использовать сложный селектор например : nth-child .

Возьмем следующий простой пример:

  <таблица>
  
     Данные 1 
     Данные 2 
  
  
     Калькутта 
     Оранжевый 
  
  
     Роботы 
     Джаз 
  
  
  таблица {
    граница-коллапс: коллапс;
  }
  td, th {
    граница: сплошной черный 1px;
    отступ: 10 пикселей 20 пикселей;
  }
  

Что дает нам следующий результат:

Это не идеально, поскольку мы должны повторить информацию о стилях для всех трех ячеек в столбце (мы, вероятно, установили бы класс для всех трех в реальном проекте и указали бы стиль в отдельной таблице стилей).

Стилизация с помощью

Вместо этого мы можем указать информацию один раз в элементе

.

элементы указаны внутри контейнера

сразу под открывающим тегом

. Мы могли бы создать тот же эффект, что и выше, указав нашу таблицу следующим образом:

  <таблица>
  
Данные 1 Данные 2
Калькутта Оранжевый
Роботы Джаз

Фактически мы определяем два «столбца стиля», один из которых определяет информацию о стиле для каждого столбца.Мы не стилизуем первый столбец, но мы все равно должны включить пустой элемент

— если бы мы этого не сделали, стиль был бы применен только к первому столбцу.

Если бы мы хотели применить информацию о стиле к обоим столбцам, мы могли бы просто включить один элемент

с атрибутом span на нем, например:

  
  
  

Так же, как colspan и rowspan , span принимает безразмерное числовое значение, которое указывает количество столбцов, к которым вы хотите применить стиль.

Активное обучение: colgroup и col

Теперь пора попробовать самому.

Ниже вы можете увидеть расписание учителя иностранных языков. В пятницу у нее новый класс, в котором весь день преподается голландский, но она также преподает немецкий несколько уроков по вторникам и четвергам. Она хочет выделить столбцы, содержащие дни, в которые она преподает.

Создайте таблицу заново, выполнив следующие действия.

  1. Сначала создайте локальную копию нашего файла timetable.html в новом каталоге на вашем локальном компьютере.HTML содержит ту же таблицу, которую вы видели выше, без информации о стиле столбца.
  2. Добавьте элемент
    вверху таблицы, сразу под тегом

    , в который вы можете добавить элементы

    (см. Оставшиеся шаги ниже).
  3. Первые два столбца следует оставить без стиля.
  4. Добавьте цвет фона к третьему столбцу. Значение вашего атрибута стиля - background-color: # 97DB9A;
  5. Установите отдельную ширину для четвертого столбца.Значение вашего атрибута стиля - width: 42px;
  6. Добавьте цвет фона в пятый столбец. Значение вашего атрибута стиля - background-color: # 97DB9A;
  7. Добавьте другой цвет фона и рамку к шестому столбцу, чтобы обозначить, что это особенный день и что она ведет новый класс. Значения для вашего атрибута стиля : background-color: # DCC48E; граница: сплошная 4px # C1437A;
  8. Последние два дня - свободные, поэтому просто установите для них не цвет фона, а заданную ширину; значение для атрибута стиля - width: 42px;
  9. Посмотрите, как у вас получается на примере.Если вы застряли или хотите проверить свою работу, вы можете найти нашу версию на GitHub как timetable-fixed.html (также смотрите вживую).

    На этом основы работы с таблицами HTML заканчиваются. В следующей статье мы рассмотрим несколько более продвинутых функций таблиц и начнем думать, насколько они доступны для людей с ослабленным зрением.

    : Элемент таблицы - HTML: язык разметки гипертекста

    HTML-элемент

    представляет собой табличные данные, то есть информацию, представленную в двумерной таблице, состоящей из строк и столбцов ячеек, содержащих данные.

    элементов,
  10. необязательный элемент
  11. ,
  12. либо одно из следующих:
    • ноль или более
  13. элементов
  14. один или несколько
  15. элементов
  16. необязательный элемент
  17. Категории содержимого Расход
    Разрешенное содержание

    В этом порядке:

    1. необязательный элемент
    ,
  18. ноль или более
  19. Отсутствие тега Нет, и начальный, и конечный тег являются обязательными.
    Допущенные родители Любой элемент, который принимает содержимое потока
    Неявная роль ARIA стол
    Разрешенные роли ARIA Любые
    Интерфейс DOM HTMLTableElement

    Устаревшие атрибуты

    выровнять

    Этот перечислимый атрибут указывает, как таблица должна быть выровнена внутри содержащего документа.Может иметь следующие значения:

    • слева : таблица отображается в левой части документа;
    • центр : таблица отображается в центре документа;
    • справа : таблица отображается в правой части документа.

    Установите margin-left и margin-right to auto or margin to 0 auto для достижения эффекта, аналогичного атрибуту align.

    bgcolor

    Цвет фона таблицы. Это шестизначный шестнадцатеричный код RGB с префиксом « # ». Также можно использовать одно из предопределенных цветовых словечек.

    Для достижения аналогичного эффекта используйте свойство CSS background-color .

    граница

    Этот целочисленный атрибут определяет в пикселях размер рамки, окружающей таблицу.Если установлено в 0, атрибут кадра устанавливается на недействительный.

    Для достижения аналогичного эффекта используйте сокращенное свойство CSS border .

    ячейка

    Этот атрибут определяет расстояние между содержимым ячейки и ее границей, отображается или нет. Если длина cellpadding определена в пикселях, это пространство размером в пиксель будет применено ко всем четырем сторонам содержимого ячейки. Если длина определяется с использованием процентного значения, содержимое будет центрировано, и общее вертикальное пространство (вверху и внизу) будет представлять это значение.То же верно и для всего горизонтального пространства (слева и справа).

    Для достижения аналогичного эффекта примените свойство border-collapse к элементу

    с его значением, установленным на свертывание, и свойство padding к элементам

    .

    расстояние между ячейками

    Этот атрибут определяет размер пространства между двумя ячейками в процентах или пикселях.Атрибут применяется как по горизонтали, так и по вертикали к пространству между верхом таблицы и ячейками первой строки, слева от таблицы и первого столбца, справа от таблицы и последнего столбца и низа таблицы. таблица и последняя строка.

    Для достижения аналогичного эффекта примените свойство border-spacing к элементу

    . border-spacing не имеет никакого эффекта, если для border-collapse установлено значение collapse.

    рама

    Этот перечислимый атрибут определяет, какая сторона рамки, окружающей таблицу, должна отображаться.

    Для достижения аналогичного эффекта используйте свойства border-style и border-width .

    правила

    Этот перечислимый атрибут определяет, где правила, то есть строки, должны отображаться в таблице. Может иметь следующие значения:

    • нет , что означает, что правила отображаться не будут; это значение по умолчанию;
    • группы , что приведет к отображению правил между группами строк (определенными элементами
    ,

    и

    ) и между группами столбцов (определенными элементом

    Только элементы и

    );
  20. строки , что приведет к отображению правил между строками;
  21. столбцов , что приведет к отображению правил между столбцами;
  22. все , что приведет к отображению правил между строками и столбцами.
  23. Для достижения аналогичного эффекта примените свойство border к соответствующим элементам

    ,

    ,

    ,

    или

    .

    сводка
    Этот атрибут определяет альтернативный текст, который суммирует содержимое таблицы. Вместо этого используйте элемент

    .
    ширина

    Этот атрибут определяет ширину таблицы.Вместо этого используйте свойство CSS width .

    Простая таблица

      <таблица>
      
    Джон Самка
    Джейн Самка

    Другие простые примеры

      

    Простая таблица с заголовком

    <таблица>
    Имя Фамилия
    Джон Самка
    Джейн Самка

    Таблица с thead, tfoot и tbody

    <таблица> Заголовок 1 Заголовок 2 Основной текст 1 Основной текст 2 <фут> Содержание нижнего колонтитула 1 Содержание нижнего колонтитула 2

    Таблица с colgroup

    <таблица> Страны Столицы Население Язык США Вашингтон, Д.С. 309 миллионов английский Швеция Стокгольм 9 миллионов шведский

    Таблица с colgroup и col

    <таблица> Лайм Лимон Оранжевый Зеленый желтый Оранжевый

    Простая таблица с подписью

    <таблица> Замечательная подпись Отличные данные

    Captions

    Предоставляя элемент

    , значение которого четко и кратко описывает назначение таблицы, он помогает людям решить, нужно ли им прочитать остальную часть содержимого таблицы или пропустить ее.

    Это помогает людям ориентироваться с помощью вспомогательных технологий, таких как программы чтения с экрана, людям с нарушениями зрения и людям с когнитивными проблемами.

    Строки и столбцы области действия

    Атрибут области действия в элементах заголовка является избыточным в простых контекстах, поскольку область действия определяется. Однако некоторые вспомогательные технологии могут не давать правильных выводов, поэтому указание области заголовка может улучшить взаимодействие с пользователем. В сложных таблицах можно указать область действия, чтобы предоставить необходимую информацию о ячейках, связанных с заголовком.

    Пример
      <таблица>
       Названия и значения цветов 
      
        
           Имя 
           HEX 
           HSLa 
           RGBa 
        
        
           Бирюзовый 
          #51F6F6 
            hsla (180, 90%, 64%, 1)  
            rgba (81, 246, 246, 1)  
        
        
           Золотарник 
          #F6BC57 
            hsla (38, 90%, 65%, 1)  
            rgba (246, 188, 87, 1)  
        
      
    
      

    Предоставление объявления scope = "col" в элементе

    поможет описать, что ячейка находится наверху столбца.Предоставление объявления scope = "row" в элементе

    поможет описать, что ячейка является первой в строке.

    Сложные таблицы

    Вспомогательные технологии, такие как программы чтения с экрана, могут испытывать трудности при синтаксическом анализе таблиц, которые настолько сложны, что ячейки заголовков невозможно связать строго горизонтально или вертикально. Обычно на это указывает наличие атрибутов colspan и rowspan .

    В идеале рассмотрите альтернативные способы представления содержимого таблицы, включая разбиение ее на набор более мелких связанных таблиц, которые не должны полагаться на использование атрибутов colspan и rowspan .Помимо помощи людям, использующим вспомогательные технологии, в понимании содержимого таблицы, это также может принести пользу людям с когнитивными проблемами, которые могут испытывать трудности с пониманием ассоциаций, описываемых макетом таблицы.

    Если таблица не может быть разбита на части, используйте комбинацию атрибутов id и заголовков , чтобы программно связать каждую ячейку таблицы с заголовком (ами), с которым связана ячейка.

    таблиц BCD загружаются только в браузере.

    • CSS-свойства, которые могут быть особенно полезны для стилизации элемента
      :

      HTML | Таблицы — GeeksforGeeks

      < html >

      < голова >

      table, th, td {

      граница: сплошной черный цвет 1px;

      граница-обрушение: обрушение;

      }

      th, td {

      padding: 5px;

      выравнивание текста: по левому краю;

      }

      table # t01 {

      ширина: 100%;

      цвет фона: # f2f2d1;

      }

      стиль >

      головка >

      < корпус
      5

      4>

      < таблица стиль = "ширина: 100%" >

      < tr >

      < th > Имя th >

      < th > Фамилия th >

      < th > Возраст th >

      tr >

      < tr >

      < td > Priya td >

      < td > Шарма td >

      < td > 24 td >

      tr >

      < tr >

      < td > Арун td >

      < td > Сингх td >

      < td > 32 td >

      tr >

      < tr >

      < td > Sam td >

      < td > Watson td >

      < td > 41 td >

      tr >

      table >

      < br />

      < br / >

      < таблица id = "t01" >

      < tr >

      < th > Имя th >

      < th > Фамилия th >

      < th > Возраст th >

      tr >

      < tr >

      < td > Прия td >

      < td > Шарма td >

      < td > 24 td >

      tr >

      < tr >

      < td > Arun td >

      < td > Singh td >

      < td > 32 td >

      tr >

      < tr >

      < td > Sam td >

      < td > Watson td >

      900 24 < td > 41 td >

      tr >

      table >

      body >

      html >

      Таблицы в документах HTML

      Таблицы в документах HTML

      11.1 Введение в таблицы

      Модель таблицы HTML позволяет авторам упорядочивать данные - текст, предварительно отформатированный
      текст, изображения, ссылки, формы, поля форм, другие таблицы и т. д. - в строки и
      столбцы ячеек.

      Каждая таблица может иметь связанный заголовок (см.
      Элемент CAPTION
      ), который дает краткое описание
      цель. Также может быть предоставлено более подробное описание (через
      сводный атрибут
      ) в интересах людей, использующих речь или
      Пользовательские агенты на основе Брайля.

      Строки таблицы могут быть сгруппированы в головку, основание и
      секции корпуса, (через THEAD , TFOOT и TBODY
      элементы соответственно). Группы строк передают дополнительную структурную информацию
      и могут отображаться пользовательскими агентами способами, подчеркивающими эту структуру. Пользователь
      агенты могут использовать разделение голова / тело / ступня для поддержки прокрутки тела
      секции независимо от секции головы и ноги. Когда длинные столы
      напечатанные, информация о голове и ноге может повторяться на каждой странице, которая
      содержит данные таблицы.

      Авторы также могут группировать столбцы для предоставления
      дополнительная структурная информация, которая может быть использована пользовательскими агентами.
      Кроме того, авторы могут объявлять свойства столбца в начале таблицы.
      определение (через элементы COLGROUP и COL ) таким образом, чтобы
      пользовательские агенты, чтобы отображать таблицу постепенно, а не ждать
      все данные таблицы должны поступить перед рендерингом.

      Ячейки таблицы могут содержать информацию "заголовок"
      (см.
      Элемент TH
      ) или «данные» (см. Элемент TD ).Ячейки могут охватывать несколько
      строки и столбцы. Модель таблицы HTML 4 позволяет авторам маркировать каждую ячейку таким образом, чтобы
      что невизуальные пользовательские агенты могут легче
      передать пользователю информацию о заголовке ячейки. Мало того, что это
      механизмы очень помогают пользователям с нарушениями зрения, они делают возможным
      для мультимодальных беспроводных браузеров с ограниченными возможностями отображения (например,
      Веб-пейджеры и телефоны) для обработки таблиц.

      Таблицы не должны использоваться исключительно как средство компоновки содержимого документа как
      это может вызвать проблемы при рендеринге на невизуальные носители.Кроме того,
      при использовании с графикой эти таблицы могут заставить пользователей выполнять горизонтальную прокрутку, чтобы
      просмотреть таблицу, созданную в системе с большим дисплеем. Чтобы свести к минимуму эти
      проблемы, авторы должны использовать таблицы стилей
      для управления макетом, а не таблицами.

      Вот простая таблица, которая иллюстрирует некоторые особенности HTML
      настольная модель. Следующее определение таблицы:

      <ТАБЛИЦА border = "1"
                summary = "Эта таблица дает некоторую статистику о фруктах
                         мухи: средний рост и вес и процентное соотношение
                         с красными глазами (как у мужчин, так и у женщин).">
        Тестовая таблица с объединенными ячейками  
         Среднее
           Красные 
      глаза рост вес Мужчины 1,9 0,003 40% Женщины 1,7 0,002 43%

      может отображаться примерно так на устройстве tty:

                Тестовая таблица с объединенными ячейками
          / ----------------------------------------- \
          | | Средний | Красный |
          | | ------------------- | глаза |
          | | высота | вес | |
          | ----------------------------------------- |
          | Самцы | 1.9 | 0,003 | 40% |
          | ----------------------------------------- |
          | Самки | 1,7 | 0,002 | 43% |
          \ ----------------------------------------- /
       

      или как это с помощью графического пользовательского агента:

      11.2 Элементы для построения столов

      11.2.1


      ТАБЛИЦА
      элемент

      Начальный тег: требуется , Конечный тег:
      требуется

      Определения атрибутов

      сводка = текст [CS]
      Этот атрибут предоставляет сводную информацию о назначении и структуре таблицы для
      пользовательские агенты, выполняющие рендеринг в невизуальные носители, такие как речь и шрифт Брайля.
      выровнять =
      слева | в центре | справа
      [CI]
      Не рекомендуется. Это
      атрибут определяет положение таблицы по отношению к документу.
      Допустимые значения:

      • слева: Таблица находится слева от документа.
      • центр: Таблица находится в центре документа.
      • справа: Таблица справа от документа.
      ширина = длина [CN]
      Этот атрибут определяет желаемую ширину всей таблицы и является
      предназначен для визуальных пользовательских агентов.Когда значение является процентным значением,
      значение относительно доступного горизонтального пространства пользовательского агента. в
      отсутствие указания ширины, ширина таблицы определяется пользователем
      агент.

      Атрибуты, определенные в другом месте


      • id
        , класс (идентификаторы на уровне документа)

      • lang
        (язык
        информация), дирек (текст
        направление)

      • title
        (заголовок элемента)
      • стиль (рядный
        информация о стиле)
      • onclick , ondblclick ,
        onmousedown
        , onmouseup ,
        onmouseover
        , onmousemove ,
        onmouseout
        , onkeypress ,
        onkeydown
        , onkeyup (внутренние события)
      • bgcolor (цвет фона)

      • рамка
        , правила , граница (границы и правила)

      • количество ячеек
        ,
        cellpadding (сотовый
        поля)


      Элемент ТАБЛИЦА
      содержит все остальные элементы, которые определяют заголовок,
      строки, содержимое и форматирование.

      В следующем информативном списке описаны операции, которые могут выполнять пользовательские агенты.
      выполнять при отрисовке таблицы:

      • Сделать таблицу сводка доступной для пользователя. Авторы должны предоставить
        сводка содержимого и структуры таблицы, чтобы люди, использующие невизуальные
        пользовательские агенты могут лучше понять это.
      • Отображает заголовок, если он определен.
      • Отображает заголовок таблицы, если он указан. Визуализировать нижний колонтитул таблицы, если
        один указан.Пользовательские агенты должны знать, где отображать верхний и нижний колонтитулы.
        Например, если выходной носитель выгружается на страницы, пользовательские агенты могут помещать заголовок в
        верх каждой страницы и нижний колонтитул внизу. Аналогично, если пользовательский агент
        предоставляет механизм для прокрутки строк, заголовок может отображаться вверху
        прокручиваемая область и нижний колонтитул внизу.
      • Рассчитайте количество столбцов в таблице.

        Обратите внимание, что количество строк в таблице равно
        к количеству элементов TR , содержащихся в ТАБЛИЦЕ
        элемент.

      • Сгруппируйте столбцы по любой группе столбцов
        технические характеристики.
      • Отобразите ячейки, строка за строкой и сгруппированные в соответствующие столбцы, между
        верхний и нижний колонтитулы. Визуальные пользовательские агенты должны
        отформатируйте таблицу в соответствии с атрибутами HTML и таблицей стилей
        Спецификация.

      Модель таблицы HTML была разработана таким образом, чтобы при содействии автора пользователь
      агенты могут отображать таблицы постепенно (т. е. как
      прибывают строки таблицы) вместо того, чтобы ждать всех данных перед началом
      для рендеринга.

      Чтобы пользовательский агент отформатировал таблицу за один проход, авторы должны сообщить
      пользовательский агент:

      Точнее, пользовательский агент может отображать таблицу за один проход, когда
      ширина столбца указывается с использованием комбинации
      Элементы COLGROUP
      и COL . Если какой-либо из столбцов указан в
      относительные или процентные значения (см. раздел, посвященный
      вычисляя ширину столбцов), авторы также должны указать ширину
      сам стол.

      Таблица направленности

      Направленность стола
      является либо унаследованной направленностью (по умолчанию слева направо), либо
      заданный атрибутом dir для элемента TABLE .

      Для таблицы с письмом слева направо нулевой столбец находится слева, а нулевая строка -
      на вершине. Для таблицы с письмом справа налево нулевой столбец находится справа, а строка
      ноль находится наверху.

      Когда пользовательский агент выделяет дополнительные ячейки в строке (см. Раздел о вычислении количества столбцов в таблице), дополнительная строка
      ячейки добавляются справа от таблицы для таблиц с письмом слева направо и в
      левая сторона для таблиц с письмом справа налево.

      Обратите внимание, что ТАБЛИЦА - единственный элемент, на котором dir
      меняет визуальный порядок столбцов на обратный; одна строка таблицы ( TR ) или
      группа столбцов ( COLGROUP ) не может быть независимо отменена.

      При установке для элемента ТАБЛИЦА атрибут dir также влияет на
      направление текста в ячейках таблицы (поскольку атрибут dir наследуется
      блочные элементы).

      Чтобы указать таблицу с написанием справа налево, установите атрибут dir следующим образом:

      <ТАБЛИЦА dir = "RTL">
        ... остальная часть таблицы ... 
      
       

      Направление текста в отдельных ячейках можно изменить, установив dir
      атрибут в элементе, определяющем ячейку.Пожалуйста, обратитесь к разделу о двунаправленном тексте для получения дополнительной информации.
      по вопросам направления текста.

      11.2.2 Подписи таблиц: элемент

      CAPTION

      Начальный тег: требуется , Конечный тег:
      требуется

      Определения атрибутов

      выровнять =
      сверху | снизу | слева | справа

      [CI]
      Не рекомендуется. Для
      визуальные пользовательские агенты, этот атрибут определяет позицию заголовка с
      уважение к таблице.Возможные значения:

      • вверху: Заголовок находится вверху таблицы. Это
        значение по умолчанию.
      • внизу: Подпись внизу таблицы.
      • осталось: Подпись слева от таблицы.
      • справа: Подпись справа от таблицы.

      Атрибуты, определенные в другом месте


      • id
        , класс (идентификаторы на уровне документа)

      • lang
        (язык
        информация), дирек (текст
        направление)

      • title
        (заголовок элемента)
      • стиль (рядный
        информация о стиле)
      • onclick , ondblclick ,
        onmousedown
        , onmouseup ,
        onmouseover
        , onmousemove ,
        onmouseout
        , onkeypress ,
        onkeydown
        , onkeyup (внутренние события)

      Текст элемента CAPTION , если он присутствует, должен описывать характер
      Таблица.Элемент CAPTION разрешен только сразу после

      ТАБЛИЦА
      начальный тег. А
      ТАБЛИЦА элемент может содержать только один
      Элемент CAPTION
      .

      Визуальные пользовательские агенты позволяют зрячим людям быстро понять структуру
      таблица из заголовков, а также заголовок. Следствием этого является
      что подписи часто неадекватны для краткого описания цели и
      структура таблицы с точки зрения людей, полагающихся на невизуальные
      пользовательские агенты.

      Поэтому авторам следует позаботиться о том, чтобы
      дополнительная информация, обобщающая назначение и структуру
      table с использованием атрибута summary элемента TABLE . Это особенно
      важно для таблиц без подписей. Примеры ниже иллюстрируют использование

      сводка
      атрибут.

      Визуальные пользовательские агенты не должны обрезать любую часть
      таблица, включая заголовок, если не предоставлены средства для доступа ко всем
      частей, например, с помощью горизонтальной или вертикальной прокрутки.Мы рекомендуем, чтобы подпись
      текст должен иметь ту же ширину, что и таблица. (См. Также раздел о рекомендуемых алгоритмах компоновки.)

      11.2.3 Группы строк:

      THEAD ,
      TFOOT и TBODY элементов

       THEAD  - O (TR) + - заголовок таблицы ->
       TFOOT  - O (TR) + - нижний колонтитул таблицы ->
       

      Начальный тег: требуется , Конечный тег:
      опционально

       TBODY  O O (TR) + - тело таблицы ->
       

      Начальный тег: необязательно , Конечный тег:
      опционально

      Атрибуты, определенные в другом месте


      • id
        , класс (идентификаторы на уровне документа)

      • lang
        (язык
        информация), дирек (текст
        направление)

      • title
        (заголовок элемента)
      • стиль (рядный
        информация о стиле)
      • onclick , ondblclick ,
        onmousedown
        , onmouseup ,
        onmouseover
        , onmousemove ,
        onmouseout
        , onkeypress ,
        onkeydown
        , onkeyup (внутренние события)

      • выровнять
        , char ,
        charoff , valign (сотовый
        выравнивание)

      Строки таблицы могут быть сгруппированы в заголовок таблицы, таблицу
      ножку и одну или несколько секций корпуса стола, используя THEAD ,

      Элементы TFOOT
      и TBODY соответственно.Это разделение позволяет
      пользовательские агенты для поддержки прокрутки тела таблицы независимо от таблицы
      голова и нога. Когда печатаются длинные столы, головка и ножка стола
      информация может повторяться на каждой странице, содержащей данные таблицы.

      Головка стола и ножка стола должны содержать информацию о
      столбцы. Тело таблицы должно содержать строки данных таблицы.

      При наличии, каждый THEAD , TFOOT и TBODY
      содержит группу строк .Каждая группа строк должна содержать хотя бы одну строку,
      определяется элементом TR .

      Этот пример иллюстрирует порядок и структуру головок, ножек и
      тела.

      <ТАБЛИЦА>
      <ГОЛОВА>
             ... информация заголовка ... 
      
      
             ... информация нижнего колонтитула ... 
      
      
             ... первая строка данных первого блока ... 
             ... вторая строка данных первого блока... 
      
      
             ... первая строка данных второго блока ... 
             ... вторая строка данных блока 2 ... 
             ... третья строка данных второго блока ... 
      
      
       


      TFOOT
      должен появиться перед TBODY в ТАБЛИЦЕ
      определение, чтобы пользовательские агенты могли отображать ногу до получения всех
      (потенциально многочисленные) строки данных. Ниже приводится сводная информация о том, какие теги
      требуется, но его можно не указывать:


      • Начальный тег TBODY
        требуется всегда, кроме случаев, когда таблица содержит
        только один корпус стола, без головки или ножек стола. TBODY
        конечный тег всегда можно безопасно опустить.
      • Стартовые теги для THEAD и TFOOT требуются, когда заголовок таблицы
        и ножные секции присутствуют соответственно, но соответствующие конечные метки могут
        всегда безопасно опускаться.

      Соответствующие синтаксические анализаторы пользовательского агента должны подчиняться этим правилам по причинам обратной
      совместимость.

      Таблицу из предыдущего примера можно сократить, удалив определенный конец
      теги, например:

      <ТАБЛИЦА>
      <ГОЛОВА>
            ...заголовок ... 
      
             ... информация нижнего колонтитула ... 
      
             ... первая строка данных первого блока ... 
             ... вторая строка данных блока 1 ... 
      
             ... первая строка данных второго блока ... 
             ... вторая строка данных блока 2 ... 
             ... третья строка данных второго блока ... 
      
       


      THEAD
      , TFOOT и
      TBODY разделов должно содержать такое же количество
      столбцы.

      11.2.4 Группы столбцов:


      COLGROUP
      и Элементы COL

      Группы столбцов позволяют авторам создавать
      структурные подразделения внутри стола. Авторы могут выделить эту структуру
      с помощью таблиц стилей или атрибутов HTML (например,
      rules
      для элемента TABLE ). Для примера
      визуальное представление групп столбцов, см.
      образец таблицы.

      Таблица может содержать одну неявную группу столбцов (№
      COLGROUP
      ограничивает столбцы) или любое количество явных
      группы столбцов (каждая из которых разделена экземпляром
      Элемент COLGROUP
      ).


      Элемент COL
      позволяет авторам разделять атрибуты между несколькими столбцами
      без каких-либо структурных группировок. «Пролет» COL
      element - это количество столбцов, которые будут разделять атрибуты элемента.

      COLGROUP
      элемент

      Начальный тег: требуется , Конечный тег:
      опционально

      Определения атрибутов

      диапазон = число [CN]
      Этот атрибут, который должен быть целым числом> 0, определяет количество
      столбцы в группе столбцов.Значения означают следующее:

      • При отсутствии атрибута span каждый
        COLGROUP
        определяет группу столбцов, содержащую один столбец.
      • Если для атрибута span установлено значение N> 0, текущий
        Элемент COLGROUP
        определяет группу столбцов, содержащую N столбцов.

      Пользовательские агенты должны игнорировать этот атрибут, если
      Элемент COLGROUP
      содержит один или несколько элементов COL .

      ширина = мультидлина [CN]

      Этот атрибут определяет ширину по умолчанию для каждого столбца в текущем
      группа столбцов.Помимо стандартного пикселя, процентного и относительного
      значений, этот атрибут позволяет использовать специальную форму "0 *" (нулевая звездочка), что означает
      что ширина каждого столбца в группе должна быть минимальной шириной
      необходимо для хранения содержимого столбца. Это означает, что весь столбец
      содержимое должно быть известно, прежде чем его ширина может быть правильно вычислена. Авторы
      следует знать, что указание "0 *" предотвратит от визуальных агентов пользователя
      инкрементальная визуализация таблицы.

      Этот атрибут переопределяется для любого столбца в группе столбцов, для которого
      ширина
      задается через элемент COL .

      Атрибуты, определенные в другом месте


      • id
        , класс (идентификаторы на уровне документа)

      • lang
        (язык
        информация), дирек (текст
        направление)

      • title
        (заголовок элемента)
      • стиль (рядный
        информация о стиле)
      • onclick , ondblclick ,
        onmousedown
        , onmouseup ,
        onmouseover
        , onmousemove ,
        onmouseout
        , onkeypress ,
        onkeydown
        , onkeyup (внутренние события)

      • выровнять
        , char ,
        charoff , valign (сотовый
        выравнивание)


      Элемент COLGROUP
      создает явную группу столбцов.Количество
      столбцы в группе столбцов могут быть указаны двумя взаимоисключающими
      способы:

      1. Атрибут span элемента (значение по умолчанию 1) указывает
        количество столбцов в группе.
      2. каждый
        Элемент COL
        в COLGROUP представляет один или несколько столбцов
        в группе.

      Преимущество использования атрибута span заключается в том, что авторы
      может группировать информацию о ширине столбцов. Таким образом, если таблица содержит
      сорок столбцов, каждый из которых имеет ширину 20 пикселей, легче
      напишите:

         
         
       

      чем:

         <КОЛГРУППА>
            
            
             ... Всего сорок элементов COL ... 
         
       

      Когда необходимо выделить столбец (например, для информации о стиле, чтобы
      указать информацию о ширине и т. д.) внутри группы, авторы должны указать, что
      столбец с элементом COL . Таким образом, чтобы применить специальную информацию о стиле к
      последний столбец предыдущей таблицы выделим следующим образом:

         <КОЛГРУППА>
            
            
         
       

      Атрибут ширины элемента
      Элемент COLGROUP
      наследуется всеми 40 столбцами.Первый COL
      элемент относится к первым 39 столбцам (не делая с ними ничего особенного), а элемент
      второй присваивает значение id сороковому столбцу, чтобы таблицы стилей могли
      обратитесь к нему.

      Таблица в следующем примере содержит две группы столбцов. Первый
      группа столбцов содержит 10 столбцов, а вторая - 5 столбцов. По умолчанию
      ширина каждого столбца в первой группе столбцов составляет 50 пикселей. Ширина каждого
      столбец во второй группе столбцов будет минимально необходимым для этого
      столбец.

      <ТАБЛИЦА>
      
      
      <ГОЛОВА>
         ... 
      
       
      Элемент

      COL

      Начальный тег: требуется , Конечный тег:
      запрещено

      Определения атрибутов

      диапазон = число [CN]
      Этот атрибут, значение которого должно быть целым числом> 0, определяет число
      столбцов, «натянутых» на элемент COL ; элемент COL разделяет свои атрибуты с
      все колонны, которые он охватывает.Значение по умолчанию для этого атрибута - 1 (т. Е.

      Элемент COL
      относится к одному столбцу). Если
      Для атрибута span
      установлено значение N> 1, текущий COL
      Элемент разделяет свои атрибуты со следующими N-1 столбцами.
      ширина = мультидлина [CN]
      Этот атрибут определяет ширину по умолчанию для каждого столбца, охватываемого
      текущий
      Элемент COL
      . Он имеет то же значение, что и .
      width
      для элемента COLGROUP и переопределяет его.

      Атрибуты, определенные в другом месте


      • id
        , класс (идентификаторы на уровне документа)

      • lang
        (язык
        информация), дирек (текст
        направление)

      • title
        (заголовок элемента)
      • стиль (рядный
        информация о стиле)
      • onclick , ondblclick ,
        onmousedown
        , onmouseup ,
        onmouseover
        , onmousemove ,
        onmouseout
        , onkeypress ,
        onkeydown
        , onkeyup (внутренние события)

      • выровнять
        , char ,
        charoff , valign (сотовый
        выравнивание)


      Элемент COL
      позволяет авторам группировать атрибут
      спецификации столбцов таблицы. COL делает , а не группу
      колонны вместе структурно - в этом роль
      Элемент COLGROUP
      .
      COL элементы пусты и служат только
      поддержка атрибутов. Они могут появляться внутри или за пределами явного столбца
      группа (т.е. элемент COLGROUP ).

      Атрибут width для COL относится к ширине каждого
      столбец в диапазоне элемента.

      Расчет количества столбцов в
      стол

      Есть два способа определить количество столбцов в таблице (по порядку
      приоритета):

      1. Если
        Элемент ТАБЛИЦА
        содержит любые COLGROUP или COL
        элементы, пользовательские агенты должны рассчитывать количество столбцов, суммируя
        следующий:

        • За каждые
          Элемент COL
          , примите значение его
          Атрибут span
          (значение по умолчанию 1).
        • Для каждого элемента COLGROUP , содержащего хотя бы один COL
          элемент, игнорируйте
          span атрибут для
          Элемент COLGROUP
          . Для каждого элемента COL выполните расчет
          шаг 1.
        • Для каждого пустого элемента COLGROUP возьмите значение его
          Атрибут span
          (значение по умолчанию 1).
      2. В противном случае, если элемент ТАБЛИЦА не содержит
        COLGROUP
        или COL элементов, пользовательские агенты должны основывать количество
        столбцы на том, что требуется строкам.Количество столбцов равно
        количество столбцов, необходимое для строки с наибольшим количеством столбцов, включая ячейки
        которые охватывают несколько столбцов. Для любой строки, в которой меньше этого числа
        столбцы, конец этой строки должен быть заполнен пустыми ячейками. «Конец»
        строка зависит от таблицы
        направленность.

      Это ошибка, если таблица содержит COLGROUP или COL
      элементов и два вычисления не приводят к одинаковому количеству
      столбцы.

      После того, как пользовательский агент подсчитал количество столбцов в таблице, он
      может сгруппировать их в группы столбцов.

      Например, для каждой из следующих таблиц вычисление двух столбцов
      методы должны привести к трем столбцам. Первые три таблицы могут быть отображены
      постепенно.

      <ТАБЛИЦА>
       
         ... 
        ... ряды ... 
      
      
      <ТАБЛИЦА>
      <КОЛГРУППА>
      
      
      
         ... 
        ... ряды ... 
      
      
      <ТАБЛИЦА>
      <КОЛГРУППА>
      
      
      
        ... 
        ... ряды ... 
      
      
      <ТАБЛИЦА>
      
         
      
      
       
      Расчет ширины столбцов

      Авторы могут указывать ширину столбцов тремя способами:

      Фиксированный
      Спецификация фиксированной ширины указывается в пикселях (например,
      ширина
      = "30"). Спецификация фиксированной ширины позволяет увеличивать
      рендеринг.
      В процентах
      Процентная спецификация (например,г., ширина = "20%")
      основан на процентном соотношении горизонтального пространства, доступного для таблицы
      (между текущими левым и правым полями, включая числа с плавающей запятой). Обратите внимание, что это
      пространство не зависит от самой таблицы, и, следовательно, процентные характеристики
      включить инкрементный рендеринг.
      Пропорциональный
      Пропорциональные характеристики (например, ширина = "3 *")
      относятся к частям горизонтального пространства , необходимого для таблицы. Если
      ширине таблицы присваивается фиксированное значение через ширина
      атрибут элемента ТАБЛИЦА , пользовательские агенты могут отображать таблицу
      постепенно, даже с пропорциональными столбцами.

      Однако, если таблица не имеет фиксированной ширины, пользовательские агенты должны получать
      все данные таблицы, прежде чем они смогут определить горизонтальное пространство, необходимое для
      Таблица. Только после этого можно выделить это пространство для пропорциональных столбцов.

      Если автор не указывает информацию о ширине столбца, пользовательский агент может
      невозможно инкрементно форматировать таблицу, так как она должна ждать
      столбец данных, который нужно прибыть, чтобы выделить соответствующую ширину.

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

      Таблица в этом примере содержит шесть столбцов. Первый не
      принадлежат к явной группе столбцов. Следующие три принадлежат первому явному
      группа столбцов, а последние два принадлежат второй явной группе столбцов. Этот
      таблица не может быть отформатирована постепенно, так как она содержит пропорциональный столбец
      спецификации ширины и без значения для
      Атрибут width
      для элемента TABLE .

      Как только (визуальный) пользовательский агент получил данные таблицы: доступные
      горизонтальное пространство будет распределено пользовательским агентом следующим образом: Сначала пользователь
      Агент выделит 30 пикселей для первого и второго столбцов.Тогда минимальное пространство
      необходимые для третьего столбца будут зарезервированы. Оставшееся горизонтальное пространство
      будет разделен на шесть равных частей (поскольку 2 * + 1 * + 3 * = 6 частей).
      Четвертый столбец (2 *) получит две из этих частей, пятый столбец (1 *) получит
      получите один, а столбец шесть (3 *) получит три.

          
      <ТАБЛИЦА>
      <КОЛГРУППА>
         
      <КОЛГРУППА>
         
         
         
      
         
         
      <ГОЛОВА>
        ... 
        ... ряды ... 
      
       

      Мы установили значение атрибута align в третьем столбце
      группа в «центр». Все ячейки в каждом столбце этой группы унаследуют это
      значение, но может переопределить его. Фактически, последний COL делает именно это, указывая
      что каждая ячейка в столбце, которым она управляет, будет выровнена по ":"
      персонаж.

      В следующей таблице спецификации ширины столбца позволяют агенту пользователя
      для постепенного форматирования таблицы:

          
      <ТАБЛИЦА>
      
      <КОЛГРУППА>
         
         
      <ГОЛОВА>
        ... 
        ... ряды ... 
      
       

      Первые десять столбцов будут шириной 15 пикселей каждый. Последние два столбца будут
      каждый получает половину из оставшихся 50 пикселей. Обратите внимание, что COL
      элементы появляются только так, чтобы
      id значение может быть указано для последних двух
      столбцы.

      Примечание. Хотя
      Атрибут width
      в элементе TABLE не является устаревшим,
      авторам рекомендуется использовать таблицы стилей для определения ширины таблицы.

      11.2.5 Строки таблицы: элемент

      TR

      Начальный тег: требуется , Конечный тег:
      опционально

      Атрибуты, определенные в другом месте


      • id
        , класс (идентификаторы на уровне документа)

      • lang
        (язык
        информация), дирек (текст
        направление)

      • title
        (заголовок элемента)
      • стиль (рядный
        информация о стиле)
      • onclick , ondblclick ,
        onmousedown
        , onmouseup ,
        onmouseover
        , onmousemove ,
        onmouseout
        , onkeypress ,
        onkeydown
        , onkeyup (внутренние события)
      • bgcolor (цвет фона)

      • выровнять
        , char ,
        charoff , valign (сотовый
        выравнивание)


      Элементы TR
      действуют как контейнер для ряда ячеек таблицы.Конец
      тег может быть опущен.

      Этот образец таблицы содержит три строки, каждая из которых начинается с TR
      элемент:

       ... Строка заголовка ... 
      ...Первая строка данных ... 
       ... Вторая строка данных ... 
        ... остальная часть таблицы ... 
      
      Чашки кофе, выпитые каждым сенатором

      11.2.6 Ячейки таблицы: элементы

      TH и TD

       TH  |  TD ) - O (% flow;) * - ячейка заголовка таблицы, ячейка данных таблицы ->
      
      
      
      
      
       abbr % Текст; # ПРЕДПОЛАГАЕТСЯ - сокращение для ячейки заголовка -
          axis  CDATA # ПРЕДПОЛАГАЕТСЯ - разделенный запятыми список связанных заголовков -
          заголовков  IDREFS # ПРЕДПОЛАГАЕТСЯ - список идентификаторов для ячеек заголовков -
          объем % объем; # ПРЕДПОЛАГАЕТСЯ - область, охватываемая ячейками заголовка -
          rowspan  NUMBER 1 - количество строк в ячейке -
          colspan  NUMBER 1 - количество столбцов, охватываемых ячейкой -
        % cellhalign; - выравнивание по горизонтали в ячейках -
        % cellvalign; - выравнивание по вертикали в ячейках -
        >
       

      Начальный тег: требуется , Конечный тег:
      опционально

      Определения атрибутов

      заголовков = idrefs [CS]
      Этот атрибут определяет список ячеек заголовка, которые предоставляют заголовок.
      информация для текущей ячейки данных.Значение этого атрибута -
      список имен ячеек, разделенных пробелами; эти ячейки должны быть названы, установив их
      id
      атрибут. Авторы обычно используют атрибут заголовков , чтобы помочь невизуальным
      пользовательские агенты отображают информацию заголовка о ячейках данных (например, заголовок
      информация произносится до данных ячейки), но атрибут также может быть
      используется вместе с таблицами стилей. См. Также прицел
      атрибут.
      объем =
      имя-области
      [CI]
      Этот атрибут определяет набор ячеек данных, для которых текущий заголовок
      ячейка предоставляет информацию заголовка.Этот атрибут можно использовать вместо .
      заголовки
      , особенно для простых таблиц. Если указано,
      этот атрибут должен иметь одно из следующих значений:

      • строка: Текущая ячейка предоставляет информацию заголовка для
        остальная часть строки, которая его содержит (см. также раздел о направленности таблицы).
      • col: Текущая ячейка предоставляет информацию заголовка для
        остальная часть столбца, который его содержит.
      • группа строк: Ячейка заголовка предоставляет информацию заголовка для
        остальная часть группы строк, которая его содержит.
      • colgroup: Ячейка заголовка предоставляет информацию заголовка для
        остальная часть группы столбцов, которая его содержит.
      abbr = текст [CS]
      Этот атрибут следует использовать для предоставления сокращенной формы ячейки
      контент и может отображаться пользовательскими агентами, когда это необходимо, вместо
      содержимое ячейки. Сокращенные имена должны быть короткими, поскольку пользовательские агенты могут отображать
      их неоднократно. Например, синтезаторы речи могут отображать сокращенный
      заголовки, относящиеся к конкретной ячейке, перед отображением этой ячейки
      содержание.
      ось = cdata [CI]
      Этот атрибут может использоваться для помещения ячейки в концептуальные категории, которые
      можно рассматривать как образующие оси в n-мерном пространстве. Пользовательские агенты могут давать
      доступ пользователей к этим категориям (например, пользователь может запросить у пользовательского агента
      все ячейки, принадлежащие определенным категориям, пользовательский агент может представить таблицу
      в виде оглавления и т. д.). Пожалуйста, обратитесь к разделу о категоризации ячеек для получения дополнительной информации.Значение
      этого атрибута представляет собой список названий категорий, разделенных запятыми.
      промежуток между рядами = число [CN]
      Этот атрибут определяет количество строк, охватываемых текущей ячейкой.
      Значение этого атрибута по умолчанию - единица («1»). Нулевое значение («0») означает
      что ячейка охватывает все строки от текущей до последней строки таблицы
      раздел ( THEAD , TBODY или TFOOT ), в котором ячейка
      определенный.
      colspan = число [CN]
      Этот атрибут определяет количество столбцов, охватываемых текущей ячейкой.Значение этого атрибута по умолчанию - единица («1»). Нулевое значение («0») означает
      что ячейка охватывает все столбцы от текущего до последнего столбца
      группа столбцов ( COLGROUP ), в которой определена ячейка.
      nowrap [CI]
      Не рекомендуется. Когда
      присутствует, этот логический атрибут сообщает визуальным пользовательским агентам отключить автоматическое
      перенос текста для этой ячейки. Таблицы стилей
      следует использовать вместо этого атрибута для достижения эффекта обтекания.
      Примечание.
      при неосторожном использовании этот атрибут может привести к чрезмерному
      широкие ячейки.
      ширина = длина [CN]
      Не рекомендуется. Это
      атрибут предоставляет пользовательским агентам рекомендованную ширину ячеек.
      высота = длина [CN]
      Не рекомендуется. Это
      Атрибут предоставляет пользовательским агентам рекомендуемую высоту ячеек.

      Атрибуты, определенные в другом месте


      • id
        , класс (идентификаторы на уровне документа)

      • lang
        (язык
        информация), дирек (текст
        направление)

      • title
        (заголовок элемента)
      • стиль (рядный
        информация о стиле)
      • onclick , ondblclick ,
        onmousedown
        , onmouseup ,
        onmouseover
        , onmousemove ,
        onmouseout
        , onkeypress ,
        onkeydown
        , onkeyup (внутренние события)
      • bgcolor (цвет фона)

      • выровнять
        , char ,
        charoff , valign (сотовый
        выравнивание)

      Ячейки таблицы могут содержать два типа информации: заголовок
      информация и данные.Этот
      различие позволяет пользовательским агентам четко отображать заголовок и ячейки данных,
      даже при отсутствии таблиц стилей. Например, визуальные пользовательские агенты могут
      выделите текст ячейки заголовка жирным шрифтом. Синтезаторы речи могут воспроизводить
      информация заголовка с отчетливой интонацией голоса.


      Элемент TH
      определяет ячейку, содержащую информацию заголовка. Пользователь
      агентам доступны две части информации заголовка: содержимое TH
      элемент и значение
      abbr атрибут.Пользовательские агенты должны отображать либо
      содержимое ячейки или значение атрибута abbr . Для визуальных медиа,
      последний может быть уместен, когда недостаточно места для визуализации
      полное содержимое ячейки. Для невизуальных медиа abbr может использоваться как
      сокращение для заголовков таблиц, когда они отображаются вместе с содержимым
      ячеек, к которым они применяются.


      заголовки
      и , область действия Атрибуты также позволяют авторам помогать невизуальным
      агенты пользователя обрабатывают информацию заголовка.Пожалуйста, обратитесь к разделу о маркировке ячеек для невизуальных пользовательских агентов для
      информация и примеры.


      Элемент TD
      определяет ячейку, содержащую данные.

      Ячейки могут быть пустыми (т. Е. Не содержать данных).

      Например, следующая таблица содержит четыре столбца данных, каждый заголовок
      по описанию столбца.

      Чашки кофе, выпитые каждым сенатором
      Имя Чашки Тип кофе Сахар?
      Т. Секстон 10 Эспрессо Нет
      Дж. Диннен 5 Без кофеина Да

      Пользовательский агент, отображающий на tty-устройстве, может отображать это следующим образом:

        Название чашки Тип кофе с сахаром? 
      Т.Секстон 10 Эспрессо Нет
      J. Dinnen 5 без кофеина Да
       
      Ячейки, занимающие несколько строк или
      колонны

      Ячейки могут занимать несколько строк или столбцов. Количество строк или столбцов
      , охватываемый ячейкой, задается диапазоном строк , и
      colspan
      для элементов TH и TD .

      В этом определении таблицы мы указываем, что ячейка в четвертой строке, втором столбце
      должен охватывать в общей сложности три столбца, включая текущий столбец.

      <ТАБЛИЦА border = "1">
       Чашки кофе, выпитые каждым сенатором 
        Имя  Чашки  Тип кофе  Сахар?
        Т. Sexton  10  Espresso  Нет
        Дж. Диннен  5  Decaf  Да
        А. Сория   Недоступно 
      
       

      Эта таблица может быть отображена на устройстве tty визуальным пользовательским агентом как
      следует:

      Чашек кофе, выпитых каждым сенатором
       --------------------------------------
       | Название | Чашки | Тип кофе | Сахар? |
       --------------------------------------
       | Т.Секстон | 10 | Эспрессо | Нет |
       --------------------------------------
       | Дж. Диннен | 5 | Без кофеина | Да |
       --------------------------------------
       | А. Сория | Нет в наличии |
       --------------------------------------
       

      В следующем примере показано (с помощью границ таблицы), как ячейка
      определения, охватывающие более одной строки или столбца, влияют на определение
      более поздние клетки. Рассмотрим следующее определение таблицы:

      <ТАБЛИЦА border = "1">
        1  2  3
        4  6
        7  8  9
      
       

      Поскольку ячейка "2" охватывает первую и вторую строки, определение второй
      row учтет это.Таким образом, второй TD во втором ряду фактически определяет
      третья ячейка строки. Визуально таблица может отображаться на tty-устройстве.
      как:

      -------------
      | 1 | 2 | 3 |
      ---- | | ----
      | 4 | | 6 |
      ---- | --- | ----
      | 7 | 8 | 9 |
      -------------
       

      , в то время как графический пользовательский агент может отображать это как:

      Обратите внимание, что если опущена определяющая ячейка «6» TD , дополнительная пустая ячейка
      был бы добавлен пользовательским агентом для завершения строки.

      Аналогично, в следующем определении таблицы:

      <ТАБЛИЦА border = "1">
        1  2  3
        4  6
        7  8  9
      
       

      ячейка "4" охватывает два столбца, поэтому второй TD в строке фактически определяет
      третья ячейка («6»):

      -------------
      | 1 | 2 | 3 |
      -------- | ----
      | 4 | 6 |
      -------- | ----
      | 7 | 8 | 9 |
      -------------
       

      Графический пользовательский агент может отображать это как:

      Определение перекрывающихся ячеек является ошибкой.Пользовательские агенты могут различаться по тому, как они
      обработать эту ошибку (например, рендеринг может отличаться).

      Следующий недопустимый пример показывает, как можно создать перекрывающиеся
      клетки. В этой таблице ячейка «5» занимает две строки, а ячейка «7» - два столбца,
      поэтому в ячейке между «7» и «9» есть перекрытие:

      <ТАБЛИЦА border = "1">
        1  2  3
        4  5  6
        7  9
      
       

      Примечание. В следующих разделах описывается таблица HTML.
      атрибуты, относящиеся к визуальному форматированию. Когда эта спецификация была впервые
      опубликованный в 1997 году, [CSS1] не предлагал механизмы для управления всеми аспектами
      визуальное форматирование таблиц. С тех пор [CSS2] добавил свойства
      для визуального форматирования таблиц.

      HTML 4 включает механизмы для управления:

      11.3.1
      Границы и правила

      Следующие атрибуты влияют на внешний фрейм таблицы и внутренний
      правила.

      Определения атрибутов

      рамка =
      void | above | below | hsides | lhs | rhs | vsides | box | border
      [CI]
      Этот атрибут указывает, какие стороны рамки вокруг стола будут
      быть видимым. Возможные значения:

      • пустота: Без сторон. Это значение по умолчанию.
      • вверху: Только верхняя сторона.
      • внизу: Только нижняя сторона.
      • hsides: Только верхняя и нижняя стороны.
      • vsides: Только правая и левая стороны.
      • lhs: Только левая сторона.
      • rhs: Только правая сторона.
      • коробка: Все четыре стороны.
      • граница: Все четыре стороны.
      правила =
      нет | группы | строки | столбцы | все

      [CI]
      Этот атрибут указывает, какие правила будут отображаться между ячейками внутри
      Таблица. Отображение правил зависит от пользовательского агента.Возможные значения:

      • нет: Нет правил. Это значение по умолчанию.
      • группы: Правила будут отображаться между группами строк (см. THEAD ,

        TFOOT
        и TBODY ) и группы столбцов (см.
        Только COLGROUP
        и COL ).
      • строк: Правила будут отображаться только между строками.
      • cols: Правила будут отображаться только между столбцами.
      • все: Правила появятся между всеми строками и столбцами.
      граница = пикселей [CN]
      Этот атрибут определяет ширину (только в пикселях) рамки вокруг
      таблицу (дополнительную информацию об этом атрибуте см. в примечании ниже).

      Чтобы помочь различать ячейки таблицы, мы можем установить
      Атрибут border
      элемента TABLE . Рассмотрим предыдущий
      пример:

      <ТАБЛИЦА border = "1"
             summary = "В этой таблице указано количество чашек
                      кофе, потребляемого каждым сенатором, тип
                      кофе (без кофеина или обычный), а также
                      принимать с сахаром.">
       Чашки кофе, выпитые каждым сенатором 
      
          Имя 
          Чашки 
          Тип кофе 
          Сахар? 
      
          Т. Секстон 
          10 
          Эспрессо 
          Нет 
      
          Дж. Диннен 
          5 
          Без кофеина 
          Да 
      
       

      В следующем примере пользовательский агент должен отображать границы в пять пикселей.
      толстые слева и справа от таблицы, с нарисованными правилами
      между каждым столбцом.

      <ТАБЛИЦА border = "5" frame = "vsides" rules = "cols">
        1  2  3
        4  5  6
        7  8  9
      
       

      Следующие настройки должны соблюдаться пользовательскими агентами для обратного
      совместимость.

      • Установка border = "0" подразумевает frame = "void" и, если только
        иначе указано, rules = "none".
      • Прочие значения
        граница подразумевает
        frame
        = "border" и, если не указано иное,
        rules
        = "все".
      • Значение «граница» в начальном теге элемента ТАБЛИЦА должно быть
        интерпретируется как значение атрибута кадра . Это означает
        rules
        = "все" и некоторое значение по умолчанию (ненулевое) для
        граница
        атрибута.

      Например, следующие определения эквивалентны:

      <ТАБЛИЦА border = "2">
      <ТАБЛИЦА border = "2" frame = "border" rules = "all">
       

      как следующие:

      <Граница ТАБЛИЦЫ>
      

      Примечание. Атрибут границы также определяет
      поведение границы для элементов OBJECT и IMG , но принимает разные
      значения для этих элементов.

      11.3.2 Горизонтальное и вертикальное выравнивание

      Для разных элементов таблицы могут быть установлены следующие атрибуты (см. Их
      определения).

      
       align  (left | center | right | justify | char) #IMPLIED
           char % Символ; # ПРЕДПОЛАГАЕТСЯ - символ выравнивания, e.г. char = ':' -
           чарофф % Длина; # ПРЕДПОЛАГАЕТСЯ - смещение для символа выравнивания - "
        >
      
       valign  (верхняя | средняя | нижняя | базовая линия) # ПРЕДПОЛАГАЕТСЯ"
        >
       

      Определения атрибутов

      выровнять =
      слева | по центру | справа | по ширине | char

      [CI]
      Этот атрибут определяет выравнивание данных и обоснование
      текст в ячейке.Возможные значения:

      • слева: Выровнять данные по левому краю / Выровнять текст по левому краю. Это по умолчанию
        значение для табличных данных.
      • по центру: По центру / по центру текста. Это по умолчанию
        значение для заголовков таблиц.
      • справа: Выровнять данные по правому краю / Выровнять текст по правому краю.
      • выравнивание: Двойное выравнивание текста.
      • char: Выровнять текст вокруг определенного символа. Если пользовательский агент
        не поддерживает выравнивание символов, поведение при наличии этого значения
        неопределенные.
      valign =
      верхний | средний | нижний | базовый

      [CI]
      Этот атрибут определяет вертикальное положение данных в ячейке.
      Возможные значения:

      • top: Данные ячейки находятся на одном уровне с верхом ячейки.
      • средний: Данные ячейки центрируются по вертикали внутри ячейки. Этот
        значение по умолчанию.
      • bottom: Данные ячейки находятся на одном уровне с нижней частью ячейки.
      • baseline: Все ячейки в той же строке, что и ячейка, для которой
        Атрибут valign
        имеет это значение, должны иметь свои текстовые данные
        расположен так, чтобы первая текстовая строка находилась на базовой линии, общей для всех ячеек
        в ряду.Это ограничение не применяется к последующим текстовым строкам в этих
        клетки.
      char = символов [CN]
      Этот атрибут определяет один символ в текстовом фрагменте, который будет действовать.
      как ось для выравнивания. Значение по умолчанию для этого атрибута - десятичное.
      точечный символ для текущего языка, установленного в lang
      атрибут (например, точка (".") на английском языке и запятая (",") на французском языке).
      Пользовательские агенты не обязаны поддерживать этот атрибут.
      charoff = длина [CN]
      Если присутствует, этот атрибут указывает смещение к первому вхождению.
      символа выравнивания в каждой строке. Если в строке нет
      символ выравнивания, его следует сдвинуть по горизонтали, чтобы закончить выравнивание
      позиция.

      Когда
      charoff
      используется для установки смещения символа выравнивания,
      направление смещения определяется текущим направлением текста (задается директорией
      атрибут).В текстах с письмом слева направо (по умолчанию) смещение слева направо.
      поле. В текстах с письмом справа налево смещение выполняется от правого поля. Пользовательские агенты
      не требуются для поддержки этого атрибута.

      В таблице в этом примере строка значений валюты выравнивается по десятичной дроби.
      точка. Мы устанавливаем символ выравнивания на "." явно.

      <ТАБЛИЦА border = "1">
      <КОЛГРУППА>
      
      <ГОЛОВА>
      Овощи Стоимость за килограмм
      Салат $ 1
      Серебряная морковь 10 долларов.50
      Золотая репа 100,30 $

      Отформатированная таблица может выглядеть следующим образом:

      ------------------------------
      | Овощи | Стоимость за килограмм |
      | -------------- | ------------- |
      | Салат | $ 1 |
      | -------------- | ------------- |
      | Серебряная морковь | 10,50 $ |
      | -------------- | ------------- |
      | Золотая репа | $ 100,30 |
      ------------------------------
       

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

      Примечание. Визуальные пользовательские агенты обычно отображают TH элементов
      по вертикали и горизонтали по центру ячейки и жирным шрифтом
      масса.

      Наследование совмещения
      характеристики

      Выравнивание содержимого ячеек может быть задано для каждой ячейки, или
      унаследован от включающих элементов, таких как строка, столбец или таблица
      сам.

      Порядок приоритета (от наивысшего к низшему) для атрибутов
      выровняйте
      , char и
      charoff имеет следующий вид:

      1. Атрибут выравнивания, установленный для элемента в данных ячейки (например,г., П ).
      2. Атрибут выравнивания, установленный для ячейки ( TH и TD ).
      3. Атрибут выравнивания, установленный для элемента группировки столбцов ( COL, и
        COLGROUP
        ). Когда ячейка является частью диапазона из нескольких столбцов, выравнивание
        свойство наследуется от определения ячейки в начале
        охватывать.
      4. Атрибут выравнивания, установленный для строки или элемента группировки строк ( TR ,
        THEAD
        , TFOOT и
        TBODY ).Когда ячейка является частью многострочного диапазона,
        свойство выравнивания наследуется от определения ячейки в начале
        пролета.
      5. Атрибут выравнивания, установленный в таблице ( ТАБЛИЦА ).
      6. Значение выравнивания по умолчанию.

      Порядок приоритета (от наивысшего к низшему) для атрибута valign
      (а также другие унаследованные атрибуты lang , dir и

      style
      ) выглядит следующим образом:

      1. Атрибут, установленный для элемента в данных ячейки (например,г., П ).
      2. Атрибут, установленный в ячейке ( TH и TD ).
      3. Атрибут, установленный для строки или элемента группировки строк ( TR ,
        THEAD
        , TFOOT и
        TBODY ). Когда ячейка является частью многострочного диапазона,
        значение атрибута наследуется из определения ячейки в начале
        пролет.
      4. Атрибут, установленный для элемента группировки столбцов ( COL, и
        COLGROUP
        ). Когда ячейка является частью диапазона, состоящего из нескольких столбцов, атрибут
        значение наследуется из определения ячейки в начале диапазона.
      5. Атрибут, установленный в таблице ( ТАБЛИЦА ).
      6. Значение атрибута по умолчанию.

      Кроме того, при рендеринге ячеек горизонтальное выравнивание определяется
      столбцы предпочтительнее строк, в то время как для вертикального выравнивания строки задаются
      предпочтение столбцам.

      Выравнивание ячеек по умолчанию зависит от пользовательского агента. Однако пользователь
      агенты должны заменить атрибут по умолчанию для текущей направленности
      (т.е. не просто «левый» во всех случаях).

      Пользовательские агенты, которые не поддерживают значение «оправдать»
      Атрибут align
      должен использовать значение унаследованной направленности
      на свое место.

      Примечание. Обратите внимание, что ячейка может унаследовать
      атрибут не из его родителя, а из первой ячейки в диапазоне. Это
      исключение из общих правил наследования атрибутов.

      11.3.3 Ячейка
      маржа

      Определения атрибутов

      расстояние между ячейками = длина [CN]
      Этот атрибут указывает, сколько места пользовательскому агенту следует оставлять между
      в левой части таблицы и в левой части крайнего левого столбца
      верх таблицы и верхняя часть самого верхнего ряда, и так далее для правой
      и внизу таблицы.Атрибут также указывает количество места для
      оставить между ячейками.
      cellpadding = длина [CN]
      Этот атрибут определяет количество пространства между границей ячейки.
      и его содержимое. Если значение этого атрибута - длина в пикселях, все четыре
      поля должны быть на таком расстоянии от содержимого. Если значение
      атрибут - длина в процентах, верхнее и нижнее поля должны быть одинаковыми
      отделяется от контента на основе процента от доступной вертикали
      пробел, а левое и правое поля должны быть одинаково отделены от
      содержание в процентах от доступного горизонтального пространства.

      Эти два атрибута управляют интервалом между ячейками и внутри них. Следующие
      иллюстрация объясняет, как они соотносятся:

      В следующем примере атрибут cellspacing указывает, что
      ячейки должны быть отделены друг от друга и от рамки таблицы на двадцать
      пикселей. Атрибут cellpadding указывает, что верхнее поле
      ячейка и нижнее поле ячейки будут отделены от
      содержимое на 10% доступного вертикального пространства (всего 20%).Точно так же левое поле ячейки и правое поле ячейки будут
      каждая должна быть отделена от содержимого ячейки 10% доступной горизонтальной
      пространство (всего 20%).

      <ТАБЛИЦА cellspacing = "20" cellpadding = "20%">
        Data1  Data2  Data3
      
       

      Если таблица или данный столбец имеет фиксированную ширину,
      ячейка
      и ячейка может потребовать больше места, чем
      назначенный. Пользовательские агенты могут отдавать этим атрибутам приоритет над
      ширина
      атрибута при возникновении конфликта, но не обязательна.

      11.4.1 Привязка заголовка
      информация с ячейками данных

      Невизуальные пользовательские агенты, такие как синтезаторы речи и устройства на основе Брайля.
      может использовать следующие атрибуты элементов TD и TH для более точной визуализации ячеек таблицы
      интуитивно:

      • Для данной ячейки данных атрибут заголовков перечисляет, какие ячейки
        предоставить соответствующую информацию заголовка. Для этого каждая ячейка заголовка должна
        быть названным с использованием атрибута id .Обратите внимание, что не всегда можно сделать
        чистое разделение ячеек на заголовки или данные. Следует использовать элемент TD
        для таких ячеек вместе с
        id или охват атрибутов в зависимости от ситуации.
      • Для данной ячейки заголовка,

        Атрибут scope
        сообщает пользовательскому агенту о ячейках данных, для которых это
        заголовок предоставляет информацию. Авторы могут использовать этот атрибут вместо
        из
        заголовки
        , по которым удобнее; два атрибута
        выполнять ту же функцию.Атрибут заголовков обычно необходим
        когда заголовки размещаются в неправильных позициях по отношению к данным, которые они
        применить к.
      • Атрибут abbr определяет сокращенный заголовок для
        ячейки заголовка, чтобы пользовательские агенты могли отображать информацию заголовка больше
        быстро.

      В следующем примере мы назначаем информацию заголовка ячейкам, задавая

      заголовки
      атрибут. Каждая ячейка в одном столбце относится к одному и тому же
      ячейка заголовка (через атрибут id ).

      <ТАБЛИЦА border = "1"
             summary = "В этой таблице указано количество чашек
                      кофе, потребляемого каждым сенатором, тип
                      кофе (без кофеина или обычный), а также
                      с сахаром. ">
       Чашки кофе, выпитые каждым сенатором 
      
          Имя 
          Чашки 
          Тип кофе 
          Сахар? 
      
          Т.Секстон 
          10 
          Эспрессо 
          Нет 
      
          Дж. Диннен 
          5 
          Без кофеина 
          Да 
      
       

      Синтезатор речи может отобразить эту таблицу следующим образом:

      Подпись под фото: Чашки кофе, выпитые каждым сенатором
      Резюме: в этой таблице показано количество чашек.
               кофе, потребляемого каждым сенатором, тип
               кофе (без кофеина или обычный), а также
               принимать с сахаром.Имя: Т. Секстон, Чашек: 10, Тип: Эспрессо, Сахар: Нет
      Имя: Дж. Диннен, Чашек: 5, Тип: Без кофеина, Сахар: Да
       

      Обратите внимание, что заголовок «Тип кофе» сокращен до «Тип» с использованием аббревиатуры
      атрибут.

      Вот тот же пример замены атрибута области на
      заголовки
      атрибут. Обратите внимание на значение «col» для области
      атрибут, означающий «все ячейки в текущем столбце»:

      <ТАБЛИЦА border = "1"
             summary = "В этой таблице указано количество чашек
                      кофе, потребляемого каждым сенатором, тип
                      кофе (без кофеина или обычный), а также
                      принимать с сахаром.">
       Чашки кофе, выпитые каждым сенатором 
      
          Имя 
          Кубки 
          Тип кофе 
          Сахар? 
      
          Т. Секстон 
          10 
          Эспрессо 
          Нет 
      
          Дж. Диннен 
          5 
          Без кофеина 
          Да 
      
       

      Вот несколько более сложный пример, иллюстрирующий другие значения для
      Атрибут области
      :

      <ТАБЛИЦА border = "1" cellpadding = "5" cellspacing = "2"
        summary = "Курсы истории, предлагаемые в сообществе
                 Баня с указанием названия курса, наставника, резюме,
                 код и комиссия ">
        
           Общественные курсы - баня, осень 1997 г. 
        
        
           Название курса 
           Репетитор курса 
           Сводка 
           Код 
           Комиссия 
        
        
           После гражданской войны 
           Доктор.Джон Роутон 
          
             Курс исследует неспокойные годы в Англии.
             после 1646.  6 еженедельных встреч, начиная с понедельника 13 числа
            Октябрь. 
          
           h37 
           & фунт; 32 
        
        
           Знакомство с англосаксонской Англией 
           Марк Коттл 
          
             Однодневный курс, знакомящий с ранним средневековьем
             период реконструкции англосаксов и
             их общество. Суббота, 18 октября. 
          
           h38 
           & фунт; 18 
        
        
           Слава Греции 
           Валери Лоренц 
          
           Место рождения демократии, философии, центр театра, дом
           аргумент. Римляне могли это сделать, но греки сделали это
           первый.  Субботняя дневная школа, 25 октября 1997 г. 
          
           h40 
           & фунт; 18 
        
      
       

      Графический пользовательский агент может отображать это как:

      Обратите внимание на использование атрибута области со значением «строка».Хотя
      первая ячейка в каждой строке содержит данные, а не информацию заголовка, область
      Атрибут заставляет ячейку данных вести себя как ячейка заголовка строки. Это позволяет говорить
      синтезаторы, чтобы предоставить соответствующее название курса по запросу или указать его
      непосредственно перед содержимым каждой ячейки.

      11.4.2 Категоризация
      ячейки

      Пользователи, просматривающие таблицу с речевым пользовательским агентом, могут захотеть услышать
      объяснение содержимого ячейки в дополнение к самому содержимому. Один
      способ, которым пользователь может дать объяснение, - это озвучить связанный заголовок
      информацию перед озвучиванием содержимого ячейки данных (см. раздел о связывании информации заголовка с ячейками данных).

      Пользователям также может потребоваться информация о более чем одной ячейке, и в этом случае
      информация заголовка, предоставляемая на уровне ячейки (к г.
      заголовки
      , scope и abbr ) могут не обеспечивать адекватный контекст.
      Рассмотрим следующую таблицу, в которой классифицируются расходы на питание, гостиницы и
      транспорт в два пункта (Сан-Хосе и Сиэтл) в течение нескольких дней:

      Пользователи могут захотеть извлечь информацию из таблицы в виде
      запросов:

      • "Сколько я потратил на еду?"
      • "Сколько я потратил на обед 25 августа?"
      • "Сколько я потратил на все расходы в Сан-Хосе?"

      Каждый запрос включает вычисление пользовательским агентом, которое может включать ноль или
      больше ячеек.Для того, чтобы определить, например, стоимость питания на 25
      Август, пользовательский агент должен знать, какие ячейки таблицы относятся к "Питание" (все
      их) и которые относятся к "Датам" (в частности, 25 августа), и найдите
      пересечение двух множеств.

      Чтобы удовлетворить этот тип запроса, табличная модель HTML 4 позволяет авторам
      размещать заголовки ячеек и данные по категориям. Например, для путешествия
      в таблице расходов автор мог сгруппировать ячейки заголовка «Сан-Хосе» и «Сиэтл».
      в категорию «Расположение», заголовки «Питание», «Гостиницы» и «Транспорт» в
      категорию «Расходы», а четыре дня - в категорию «Дата».В
      Тогда предыдущие три вопроса будут иметь следующее значение:

      • "Сколько я потратил на еду?" означает "Каковы все ячейки данных в
        категорию «Расходы = Питание»?
      • "Сколько я потратил на обед 25 августа?" означает "Какие данные
        ячеек в категориях "Расходы = Питание" и "Дата = 25 августа 1997 г."?
      • "Сколько я потратил на все расходы в Сан-Хосе?" означает "Каковы все
        ячейки данных в "Expenses = Meals, Hotels, Transport" and "Location = San Jose"
        категории?

      Авторы классифицируют заголовок или ячейку данных, устанавливая ось
      атрибут ячейки.Например, в таблице командировочных расходов ячейка
      содержащий информацию "Сан-Хосе" может быть помещен в "Местоположение"
      следующая категория:

         Сан-Хосе 
       

      Любая ячейка, содержащая информацию, относящуюся к "Сан-Хосе", должна ссылаться на это
      ячейка заголовка через
      заголовки или атрибут области действия. Таким образом, еда
      расходы за 25 августа 1997 г. необходимо разметить до id
      атрибут (значение которого здесь "a6") ячейки заголовка "Сан-Хосе":

        
         37.74 
       

      каждый
      Атрибут заголовков
      предоставляет список ссылок id . Таким образом, авторы могут
      классифицировать данную ячейку любым количеством способов (или по любому количеству
      "заголовки", отсюда и название).

      Ниже мы помечаем таблицу командировочных расходов информацией о категории:

      <ТАБЛИЦА border = "1"
                summary = "В этой таблице приведены командировочные расходы.
                         во время августовских поездок в
                         Сан-Хосе и Сиэтл ">
      <ЗАГОЛОВОК>
        Отчет о командировочных расходах
      
      
       
       Питание 
       Гостиницы 
       Транспорт 
       промежуточные итоги 
      
      
       Сан-Хосе 
       
       
       
       
      
      
       25 августа 1997 г. 
       37.74 
       112,00 
       45,00 
       
      
      
       26 августа 1997 г. 
       27,28 
       112,00 
       45,00 
       
      
      
       промежуточные итоги 
       65,02 
       224,00 
       90.00 
       379,02 
      
      
       Сиэтл 
       
       
       
       
      
      
       27 августа 1997 г. 
       96,25 
       109,00 
       36,00 
       
      
      
       28 августа 1997 г. 
       35.00 
       109,00 
       36,00 
       
      
      
       промежуточные итоги 
       131,25 
       218,00 
       72,00 
       421,25 
      
      
       Итоги 
       196,27 
       442,00 
       162,00 
       800,27 
      
      
      

      Обратите внимание, что такая разметка таблицы также позволяет пользовательским агентам избегать
      вводить пользователя в заблуждение нежелательной информацией.Например, если речь
      синтезатор должен был озвучить все цифры в столбце "Питание" этого
      в ответ на запрос «Сколько я тратил на питание?» пользователь мог
      не смогут отличить дневные расходы от промежуточных или общих итогов. По
      тщательно классифицируя данные ячеек, авторы позволяют пользовательским агентам делать важные
      семантические различия при рендеринге.

      Конечно, нет ограничений на то, как авторы могут категоризировать информацию в
      Таблица. Например, в таблице командировочных расходов мы могли бы добавить дополнительные
      категории «промежуточные итоги» и «итоги».

      Эта спецификация не требует, чтобы пользовательские агенты обрабатывали информацию.
      предоставляется атрибутом оси и не дает никаких рекомендаций по
      как пользовательские агенты могут представлять
      ось информация для пользователей или как пользователи могут запрашивать
      пользовательский агент об этой информации.

      Однако пользовательские агенты, особенно речь
      синтезаторы, может захотеть вынести за скобки информацию, общую для нескольких
      ячейки, которые являются результатом запроса. Например, если пользователь спрашивает "Что сделал
      Я трачу на обед в Сан-Хосе? ", Пользовательский агент сначала определит ячейки
      под вопросом (25 августа 1997: 37.74, 26-Aug-1997: 27.28), затем визуализируйте это
      Информация. Пользовательский агент, говорящий эту информацию, может прочитать ее:

         Расположение: Сан-Хосе. Дата: 25 августа 1997 г. Расходы, питание: 37,74
         Расположение: Сан-Хосе. Дата: 26 августа 1997 г. Расходы, питание: 27.28
       

      или, более компактно:

         Сан-Хосе, 25 августа 1997 г., питание: 37,74
         Сан-Хосе, 26 августа 1997 г., питание: 27,28
       

      Еще более экономичный рендеринг учитывал бы общую информацию и
      переупорядочить:

         Сан-Хосе, Питание, 25 августа 1997 г .: 37.74
                          26 августа 1997 г .: 27,28
       

      Пользовательские агенты, поддерживающие этот тип рендеринга, должны разрешать пользовательским агентам
      означает настраивать рендеринг (например, с помощью таблиц стилей).

      11.4.3 Алгоритм поиска
      информация о заголовке

      При отсутствии информации заголовка из области или

      заголовки
      , пользовательские агенты могут создавать информацию заголовка
      по следующему алгоритму. Цель алгоритма - найти
      упорядоченный список заголовков.(В последующем описании алгоритма предполагается, что направленность таблицы равна
      слева направо.)

      • Сначала найдите слева от позиции ячейки, чтобы найти ячейки заголовка строки. Затем
        поиск вверх, чтобы найти ячейки заголовка столбца. Поиск в заданном направлении
        останавливается при достижении края таблицы или при обнаружении ячейки данных после
        ячейка заголовка.
      • Заголовки строк вставляются в список в том порядке, в котором они появляются в
        Таблица. В таблицах с письмом слева направо заголовки вставляются слева направо.
      • Заголовки столбцов вставляются после заголовков строк в том порядке, в котором они появляются.
        таблица сверху вниз.
      • Если ячейка заголовка имеет
        заголовки набор атрибутов, затем заголовки
        на которые ссылается этот атрибут, вставляются в список, и поиск останавливается
        для текущего направления.

      • Ячейки TD
        , которые устанавливают атрибут оси , также обрабатываются как
        заголовочные ячейки.

      В этом примере показаны сгруппированные строки и столбцы.Пример адаптирован
      из "Разработка международного программного обеспечения" Надин Кано.

      В "ascii art" следующая таблица:

      <ТАБЛИЦА border = "2" frame = "hsides" rules = "groups"
                summary = "Поддержка кодовой страницы в разных версиях
                         MS Windows. ">
       ПОДДЕРЖКА КОДОВОЙ СТРАНИЦЫ В MICROSOFT WINDOWS 
      
      
      
      
      
      
       Кодовая страница 
      ID Имя ACP OEMCP Windows
      NT 3.1 Windows
      NT 3.51 Windows
      95 1200 Unicode (BMP по ISO / IEC-10646) X X * 1250 Windows 3.1 Восточноевропейская X X X X 1251 Windows 3.1 Кириллица X X X X 1252 Windows 3.1 US (ANSI) X X X X 1253 Windows 3.1 греческий X X X X 1254 Windows 3.1 турецкий X X X X 1255 ИвритX X 1256 АрабскийX X 1257BalticX X 1361 корейский (Johab) X ** X 437 MS-DOS США X X X X 708 арабский (ASMO 708) X X 709 арабский (ASMO 449+, BCON V4) X X 710 Арабский (прозрачный арабский) X X 720 арабский (прозрачный ASMO) X X

      будет отображаться примерно так:

                        ПОДДЕРЖКА КОДОВОЙ СТРАНИЦЫ В MICROSOFT WINDOWS
      ================================================== =============================
      Кодовая страница | Имя | ACP OEMCP | Windows Windows Windows
          ID | | | NT 3.1 NT 3.51 95
      -------------------------------------------------- -----------------------------
         1200 | Юникод (BMP по ISO 10646) | | Х Х *
         1250 | Windows 3.1 Восточноевропейская | X | Х Х Х
         1251 | Windows 3.1 Кириллица | X | Х Х Х
         1252 | Windows 3.1 US (ANSI) | X | Х Х Х
         1253 | Windows 3.1 Греческая | X | Х Х Х
         1254 | Окна 3.1 турецкий | X | Х Х Х
         1255 | Иврит | X | Икс
         1256 | Арабский | X | Икс
         1257 | Балтийский | X | Икс
         1361 | Корейский (Джохаб) | X | **      ИКС
      -------------------------------------------------- -----------------------------
          437 | MS-DOS Соединенные Штаты | X | Х Х Х
          708 | Арабский (ASMO 708) | X | Икс
          709 | Арабский (ASMO 449+, BCON V4) | X | Икс
          710 | Арабский (прозрачный арабский) | X | Икс
          720 | Арабский (прозрачный ASMO) | X | Икс
      ================================================== =============================
       

      Графический пользовательский агент может отображать это как:

      В этом примере показано, как COLGROUP можно использовать для группировки столбцов.
      и установите выравнивание столбца по умолчанию.Аналогично TBODY - это
      используется для группировки строк. Кадр , правила и , атрибуты сообщают пользовательскому агенту
      какие границы и правила отображать.

      Узнайте, когда их использовать (а когда избегать) »

      Раскрытие информации: Ваша поддержка помогает поддерживать работу сайта! Мы зарабатываем реферальный сбор за некоторые услуги, которые мы рекомендуем на этой странице. Узнать больше

      Таблицы используются в HTML-документах (веб-страницах) для представления табличных данных .

      Использование таблиц

      Пример кода таблицы: простая таблица

        <таблица>
       
         Имя 
         Любимый цвет 
       
       
         Боб 
         желтый 
       
       
         Мишель 
         Фиолетовый 
       
      
        
      Имя Любимый цвет
      Боб Желтый
      Мишель Фиолетовый

      Пример кода таблицы: Комплексная таблица

        <таблица>
        Сложная таблица 
       
        
          Счет-фактура № 123456789 
          14 января 2025 г.
        
        
         
           Оплатить:  
      Acme Billing Co.
      123 Main St.
      Cityville, NA 12345 Клиент:
      Джон Смит
      321 Willow Way
      Юго-Восточный Северо-Западный Шир, MA 54321 Имя / Описание Кол-во @ Стоимость Скрепки 1000 0.01 10,00 Скобы (коробка) 100 1,00 100,00 <фут> Итого 110,00 Налог 8% 8,80 Общий итог 118 долларов США.80
      Сложная таблица
      Счет-фактура № 123456789 14 января 2025 г.
      Оплата по адресу:
      Acme Billing Co.
      123 Main St.
      Cityville, NA 12345
      Клиент:
      John Smith
      321 Willow Way
      Southeast Northwestershire, MA 54321
      Название / описание Кол-во. @ Стоимость
      Скрепки 1000 0.01 10,00
      Скобы (коробка) 100 1,00 100,00
      Итого 110,00
      Налог 8% 8,80
      Итого $ 118,80

      О табличной компоновке

      На заре Интернета было обычным делом использовать таблицы в качестве устройства компоновки. До появления современных браузеров, основанных на стандартах, это был самый простой способ убедиться, что элементы страницы правильно расположены на экране.

      Этот шаблон проектирования теперь считается очень плохим . Это плохо для пользовательского опыта, плохо для SEO и плохо для разработчиков, которым приходится поддерживать страницы.

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

      Однако это не означает, что вам следует избегать таблиц - таблицы следует использовать всякий раз, когда вам нужно представить информацию в табличном формате.

      Адам - ​​технический писатель, специализирующийся на документации и руководствах для разработчиков.

      Создайте таблицу HTML быстро и легко с помощью нашего примера кода »

      HTML / Создайте таблицу HTML быстро и легко с помощью нашего примера кода

      в тегах HTML

      Раскрытие информации: Ваша поддержка помогает поддерживать работу сайта! Мы зарабатываем реферальный сбор за некоторые услуги, которые мы рекомендуем на этой странице. Узнать больше

      Что позволяет быстро и легко создать HTML-таблицу с помощью нашего примера кода ?
      Элемент

      используется вместе с дочерними элементами, такими как

      ,

      <фут>
      ,

      и другими, для добавления табличных данных в документ HTML.
      Дисплей
      встроенный

      Пример кода

        <таблица>
        
      Три самых популярных библиотеки JavaScript
      Библиотека jQuery Bootstrap Modernizr
      Доля рынка 96,1% 17.0% 14,3%
      Абсолютное использование 70,4% 12,4% 10,5%
      Доля рынка - это процент сайтов, использующих любую библиотеку JavaScript, которая использует указанную библиотеку. Абсолютное использование - это процент опрошенных веб-сайтов, включая те, которые не используют библиотеки JavaScript, которые используют указанную библиотеку.Все данные получены от W3Techs и верны по состоянию на июнь 2016 года.
      Три самых популярных библиотеки JavaScript
      Библиотека jQuery Bootstrap Modernizr
      Доля рынка 96,1% 17,0% 14.3%
      Абсолютное использование 70,4% 12,4% 10,5%
      Доля рынка относится к проценту сайтов, использующих любую библиотеку JavaScript, которая использует указанную библиотеку. Абсолютное использование - это процент опрошенных веб-сайтов, включая те, которые не используют библиотеки JavaScript, которые используют указанную библиотеку. Все данные получены от W3Techs и были точными по состоянию на июнь 2016 года.

      Таблицы для данных, а не макет

      В первые дни Интернета для управления макетом веб-страницы было обычным делом использовать таблицы HTML.Тогда это была плохая идея, а сейчас это еще хуже. Использование таблиц таким образом не только семантически некорректно, но и может создать проблемы с доступностью и значительно усложнить создание адаптивного дизайна веб-сайта.

      Итак, как правильно использовать таблицы HTML? Для отображения табличных данных. Некоторые наборы данных проще всего понять и усвоить, если они представлены в виде таблицы. Если у вас есть такой набор данных, который нужно добавить на веб-сайт, таблица HTML - правильный инструмент для этой работы.

      Как вы можете видеть в нашем фрагменте кода выше, существует множество элементов, которые используются при создании таблицы HTML.Мы составили руководство по таблицам, которое поможет вам освоить все эти элементы.

      Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *