Примеры таблиц html: Красивое оформление таблиц

Содержание

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 уроки для начинающих академия


Пример таблицы 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 таблицы позволяют веб разработчикам упорядочивать данные в строки и столбцы


Пример

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

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

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

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

По умолчанию текст элементы <th> выделены жирным шрифтом и центрированы.

По умолчанию текст элементы <td> являются регулярными и выровненными по левому краю.

Пример

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

<table>
 <tr>
    <th>Имя</th>
    <th>Фамилия</th>
    <th>Лет</th>
 </tr>
 <tr>
    <td>Джилл</td>
    <td>Смит</td>
    <td>50</td>
 </tr>
  <tr>
    <td>Ева</td>
    <td>Джексон</td>
    <td>94</td>
  </tr>
</table>

Попробуйте сами »

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



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

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

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


HTML Таблица — Крах ганиц

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


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

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

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

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


HTML Таблица — Выравнивание заголовков по левому краю

По умолчанию заголовки таблиц выделены жирным шрифтом и центрированы.

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


HTML Таблица — Добавить интервал между границами

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

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

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


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

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

Пример

<table>
  <tr>
    <th>Имя</th>
    <th colspan=»2″>Телефон</th>
  </tr>
  <tr>
    <td>Билл Гейтс</td>
    <td>55577854</td>
    <td>55577855</td>
  </tr>
</table>

Попробуйте сами »

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

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

Пример

<table>
  <tr>
    <th>Имя:</th>
    <td>Билл Гейтс</td>
  </tr>
  <tr>
    <th rowspan=»2″>Телефон:</th>
    <td>55577854</td>
  </tr>
  <tr>
    <td>55577855</td>
  </tr>
</table>

Попробуйте сами »

HTML Таблица — Добавить подпись

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

Пример

<table>
  <caption>Ежемесячные сбережения</caption>
  <tr>
    <th>Месяц</th>
    <th>Экономия</th>
  </tr>
  <tr>
    <td>Январь</td>
    <td>$100</td>
  </tr>
  <tr>
    <td>Февраль</td>
    <td>$50</td>
  </tr>
</table>

Попробуйте сами »

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


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

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

Пример

<table>
  <tr>
    <th>Имя</th>
    <th>Фамилия</th>
    <th>Лет</th>
  </tr>
  <tr>
    <td>Ева</td>
    <td>Джексон</td>
    <td>94</td>
  </tr>
</table>

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

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

Попробуйте сами »

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

#t01 tr:nth-child(even) {
  background-color: #eee;
}
#t01 tr:nth-child(odd) {
  background-color: #fff;
}
#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 для создания ячейки охватывают множество столбцов
  • Используйте атрибут rowspan чтобы сделать промежуток ячейке несколько строк
  • Используйте атрибут id для определения одной таблицы

HTML Упражнения


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

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

Создание таблицы в HTML — красивые примеры

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

Раньше HTML таблицы использовались для вёрстки сайтов. Она так и называлась – табличная вёрстка. Потом на смену ей пришла вёрстка дивами (при помощи тегов div ) которая оказалась намного удобнее и проще. А сейчас наступает эра вёрстки сайтов по технологии flexbox, которая призвана еще больше упростить жизнь web-мастерам.

Однако, несмотря на всё выше сказанное, таблицы в html по-прежнему современны, актуальны и вовсю используются на сайтах. Правда уже не как структура, а как элемент статей сайта.

Создание таблиц в html примеры

Перед началом обучения создания таблицы в HTML, что бы мои и ваши таблицы смотрелись одинаково — сделайте 3 простые вещи:

  1. Создайте файл index.html
  2. Откройте его в браузере
  3. Добавьте туда следующий код:
<style>
  table{
    margin: 50px 0;
    text-align: left;
    border-collapse: separate;
    border: 1px solid #ddd;
    border-spacing: 10px;
    border-radius: 3px;
    background: #fdfdfd;
    font-size: 14px;
    width: auto;
  }
  td,th{
    border: 1px solid #ddd;
    padding: 5px;
    border-radius: 3px;
  }
  th{
    background: #E4E4E4;
  }
  caption{
    font-style: italic;
    text-align: right;
    color: #547901;
  }
</style>

Создание простой HTML таблички

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

<table></table>

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

Как вы знаете, в каждой таблице есть свои строки и колонки, которые на пересечении формируют ячейки. Однако в HTML – таблицы строятся немного по другому принципу. Изначально мы задаём им строки, а внутри строк задаём ячейки. И именно от количества ячеек в строке и будет завесить количество столбцов. Давайте попробуем сделать таблицу в html в блокноте.

Создание строк и ячеек

Строки задаются при помощи тегов tr. И внутри строк мы задаём ячейки тегами td. А сейчас мы по-быстрому забабахаем простую таблицу, с одной строкой и четырьмя ячейками. Вот её код:

<table>
  <tr>
    <td>Ячейка 1</td>
    <td>Ячейка 2</td>
    <td>Ячейка 3</td>
    <td>Ячейка 4</td>
  </tr>
</table>

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

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

А сейчас я предлагаю немного её усложнить, и добавить ещё три строки!

<table>
  <tr>
    <td>Строка1 Ячейка1</td>
    <td>Строка1 Ячейка2</td>
    <td>Строка1 Ячейка3</td>
    <td>Строка1 Ячейка4</td>
  </tr>
  <tr>
    <td>Строка2 Ячейка1</td>
    <td>Строка2 Ячейка2</td>
    <td>Строка2 Ячейка3</td>
    <td>Строка2 Ячейка4</td>
  </tr>
  <tr>
    <td>Строка3 Ячейка1</td>
    <td>Строка3 Ячейка2</td>
    <td>Строка3 Ячейка3</td>
    <td>Строка3 Ячейка4</td>
  </tr>
  <tr>
    <td>Строка4 Ячейка1</td>
    <td>Строка4 Ячейка2</td>
    <td>Строка4 Ячейка3</td>
    <td>Строка4 Ячейка4</td>
  </tr>
</table>

Выглядеть она у нас будет вот так:

Строка1 Ячейка1Строка1 Ячейка2Строка1 Ячейка3Строка1 Ячейка4
Строка2 Ячейка1Строка2 Ячейка2Строка2 Ячейка3Строка2 Ячейка4
Строка3 Ячейка1Строка3 Ячейка2Строка3 Ячейка3Строка3 Ячейка4
Строка4 Ячейка1Строка4 Ячейка2Строка4 Ячейка3Строка4 Ячейка4

Кода получилось довольно много, однако оно того стоило! Думаю, теперь вам ясно, как работает создание таблиц в HTML. Однако это далеко не всё, мы ещё с вами только начали и дальше нас ждёт еще много интересного

Название таблицы — тег caption

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

<table>
  <caption>Пример таблицы с названием</caption>
  <tr>
    <td>Строка1 Ячейка1</td>
    <td>Строка1 Ячейка2</td>
    <td>Строка1 Ячейка3</td>
    <td>Строка1 Ячейка4</td>
  </tr>
  <tr>
    <td>Строка2 Ячейка1</td>
    <td>Строка2 Ячейка2</td>
    <td>Строка2 Ячейка3</td>
    <td>Строка2 Ячейка4</td>
  </tr>
  <tr>
    <td>Строка3 Ячейка1</td>
    <td>Строка3 Ячейка2</td>
    <td>Строка3 Ячейка3</td>
    <td>Строка3 Ячейка4</td>
  </tr>
  <tr>
    <td>Строка4 Ячейка1</td>
    <td>Строка4 Ячейка2</td>
    <td>Строка4 Ячейка3</td>
    <td>Строка4 Ячейка4</td>
  </tr>
</table>

А вот, что у нас получится в итоге:

Пример таблицы с названием
Строка1 Ячейка1Строка1 Ячейка2Строка1 Ячейка3Строка1 Ячейка4
Строка2 Ячейка1Строка2 Ячейка2Строка2 Ячейка3Строка2 Ячейка4
Строка3 Ячейка1Строка3 Ячейка2Строка3 Ячейка3Строка3 Ячейка4
Строка4 Ячейка1Строка4 Ячейка2Строка4 Ячейка3Строка4 Ячейка4

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

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

Видео 1: HTML таблицы – тег table

Управление ячейками таблицы

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

  1. Вывести заголовочную строку
  2. Объединить некоторые ячейки по вертикали
  3. А другие объединить по горизонтали

Вот этим мы и займёмся. И начнем мы, пожалуй, с…

Ячейки-заголовки в таблице

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

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

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

Давайте в таблице из прошлого примера в первой строке заменим теги td на th . А также чуточку изменим их содержимое:

<table>
  <caption>Таблица с тегом th</caption>
  <tr>
    <th>Столбец 1</th>
    <th>Столбец 2</th>
    <th>Столбец 3</th>
    <th>Столбец 4</th>
  </tr>
  <tr>
    <td>Строка2 Ячейка1</td>
    <td>Строка2 Ячейка2</td>
    <td>Строка2 Ячейка3</td>
    <td>Строка2 Ячейка4</td>
  </tr>
  <tr>
    <td>Строка3 Ячейка1</td>
    <td>Строка3 Ячейка2</td>
    <td>Строка3 Ячейка3</td>
    <td>Строка3 Ячейка4</td>
  </tr>
  <tr>
    <td>Строка4 Ячейка1</td>
    <td>Строка4 Ячейка2</td>
    <td>Строка4 Ячейка3</td>
    <td>Строка4 Ячейка4</td>
  </tr>
</table>

А вот и результат кода выше, выполненный в браузере:

Таблица с тегом th
Столбец 1Столбец 2Столбец 3Столбец 4
Строка2 Ячейка1Строка2 Ячейка2Строка2 Ячейка3Строка2 Ячейка4
Строка3 Ячейка1Строка3 Ячейка2Строка3 Ячейка3Строка3 Ячейка4
Строка4 Ячейка1Строка4 Ячейка2Строка4 Ячейка3Строка4 Ячейка4

Как видите, текст в этих ячейках автоматически делается жирным.

Объединение ячеек по горизонтали и вертикали

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

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

Для этого мы будем использовать 2 атрибута, которые задаются непосредственно самим ячейкам:

  1. Атрибут colspan – указывает сколько надо объединить ячеек по столбцам (горизонталь), начиная с текущей
  2. Атрибут rowspan – указывает сколько надо объединить ячеек по стокам (вертикаль) начиная с текущей

Эти атрибуты должны иметь целое число, начиная с 1 и более.

Помните! Если Вы объединяете ячейку с другими ячейками таблицы, она их замещает собой и растягивается. А это значит, что ячейки, которые замещены – надо удалить из HTML кода.

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

Давайте попробуем в нашей таблице объединить 2 ячейки:

  1. Ячейку 1 в строке 2 объединим по столбцам (горизонталь) с ячейками 2 и 3 в той же строке. Для этого мы зададим ей атрибут rowspan=“3”
  2. Ячейку 4 в строке 2 объединим по строкам (вертикаль) с ячейками 4 в строках 3 и 4. Для этого мы зададим ей атрибут colspan=“3”

И теперь, для правильного отображения таблицы, нам необходимо удалить из кода ячейки, которые были добавлены при объединении. То есть для первого примера мы удаляем из кода ячейки 2 и 3 в строке 2. А для второго – удаляем ячейку 4 в строке 3 и ячейку 4 в строке 4.

В итоге у нас получится вот такой код:

<table>
  <caption>Объединение ячеек таблицы</caption>
  <tr>
    <th>Столбец 1</th>
    <th>Столбец 2</th>
    <th>Столбец 3</th>
    <th>Столбец 4</th>
  </tr>
  <tr>
    <td colspan="3">Строка2 Ячейка1 (соединена с ячейками 2 и 3)</td>
    <td rowspan="3">Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)</td>
  </tr>
  <tr>
    <td>Строка3 Ячейка1</td>
    <td>Строка3 Ячейка2</td>
    <td>Строка3 Ячейка3</td>
  </tr>
  <tr>
    <td>Строка4 Ячейка1</td>
    <td>Строка4 Ячейка2</td>
    <td>Строка4 Ячейка3</td>
  </tr>
</table>

А на деле, наша таблица будет выглядеть следующим образом:

Объединение ячеек таблицы
Столбец 1Столбец 2Столбец 3Столбец 4
Строка2 Ячейка1 (соединена с ячейками 2 и 3)Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)
Строка3 Ячейка1Строка3 Ячейка2Строка3 Ячейка3
Строка4 Ячейка1Строка4 Ячейка2Строка4 Ячейка3

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

Видео 2: HTML таблицы — ячейки и управление ими

Объединение ячеек сразу по 2-ум направлениям

Так же мы можем объединять ячейки не только по какой-либо одной стороне. Но и сразу по двум! Что мы сейчас и проделаем с нашей таблицей.

Давайте объединим ячейку 1 строки 3:

  1. С ячейкой 2 строки 3
  2. С ячейкой 1 строки 4
  3. С ячейкой 2 строки 4

Для этого мы пропишем ячейке 1 строки 3 следующие 2 атрибута:

  1. colspan=“2”
  2. rowspan=“2”

Помним, что объединённые ячейки замещаются, поэтому ячейки из списка выше, нам надо будет удалить из кода. В итоге вот такой код будет у нашей таблички:

<table>
  <caption>Объединение ячеек по 2-ум направлениям</caption>
  <tr>
    <th>Столбец 1</th>
    <th>Столбец 2</th>
    <th>Столбец 3</th>
    <th>Столбец 4</th>
  </tr>
  <tr>
    <td colspan="3">Строка2 Ячейка1 (соединена с ячейками 2 и 3)</td>
    <td rowspan="3">Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)</td>
  </tr>
  <tr>
    <td colspan="2" rowspan="2">Строка3 Ячейка1 (соединена с ячейкой 2 строки 3 и ячейками 1 и 2 строки 4)</td>
    <td>Строка3 Ячейка3</td>
  </tr>
  <tr>
    <td>Строка4 Ячейка3</td>
  </tr>
</table>

А вот так, будет выглядеть наша таблица сейчас:

Объединение ячеек по 2-ум направлениям
Столбец 1Столбец 2Столбец 3Столбец 4
Строка2 Ячейка1 (соединена с ячейками 2 и 3)Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)
Строка3 Ячейка1 (соединена с ячейкой 2 строки 3 и ячейками 1 и 2 строки 4)Строка3 Ячейка3
Строка4 Ячейка3

Шапка, тело и подвал HTML таблицы.

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

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

Тег thead — шапка HTML таблицы

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

Фишки тега thead:

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

Теперь вернёмся к нашей таблице, и давайте первую строку завернём в этот тег:

<table>
  <caption>Тег thead в таблице</caption>
  <thead>
    <tr>
      <th>Столбец 1</th>
      <th>Столбец 2</th>
      <th>Столбец 3</th>
      <th>Столбец 4</th>
    </tr>
  </thead>
  <tr>
    <td colspan="3">Строка2 Ячейка1 (соединена с ячейками 2 и 3)</td>
    <td rowspan="3">Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)</td>
  </tr>
  <tr>
    <td colspan="2" rowspan="2">Строка3 Ячейка1 (соединена с ячейкой 2 строки 3 и ячейками 1 и 2 строки 4)</td>
    <td>Строка3 Ячейка3</td>
  </tr>
  <tr>
    <td>Строка4 Ячейка3</td>
  </tr>
</table>

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

Тег tfoot – подвал HTML таблицы

Хоть это и подвальчик, но помните, что этот тег рекомендуется размещать сразу после тега thead .

Фишки тега tfoot:

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

Давайте мы заведём ещё одну строку в таблице, и завернём её с ячейками сразу в тег tfoot :

<table>
  <caption>Тег tfoot в таблице</caption>
  <thead>
    <tr>
      <th>Столбец 1</th>
      <th>Столбец 2</th>
      <th>Столбец 3</th>
      <th>Столбец 4</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <td>Подвал столбец 1</td>
      <td>Подвал столбец 2</td>
      <td>Подвал столбец 3</td>
      <td>Подвал столбец 4</td>
    </tr>
  </tfoot>
  <tr>
    <td colspan="3">Строка2 Ячейка1 (соединена с ячейками 2 и 3)</td>
    <td rowspan="3">Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)</td>
  </tr>
  <tr>
    <td colspan="2" rowspan="2">Строка3 Ячейка1 (соединена с ячейкой 2 строки 3 и ячейками 1 и 2 строки 4)</td>
    <td>Строка3 Ячейка3</td>
  </tr>
  <tr>
    <td>Строка4 Ячейка3</td>
  </tr>
</table>

А вот и наша табличка:

Тег tfoot в таблице
Столбец 1Столбец 2Столбец 3Столбец 4
Подвал столбец 1Подвал столбец 2Подвал столбец 3Подвал столбец 4
Строка2 Ячейка1 (соединена с ячейками 2 и 3)Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)
Строка3 Ячейка1 (соединена с ячейкой 2 строки 3 и ячейками 1 и 2 строки 4)Строка3 Ячейка3
Строка4 Ячейка3

Посмотрите внимательно, несмотря на то, что мы разместили тег tfoot в середине таблицы, его содержимое выводится в её конце!

Тег tbody – тело таблицы.

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

Вот такой код получится в итоге:

<table>
  <caption>Тег tbody в таблице</caption>
  <thead>
    <tr>
      <th>Столбец 1</th>
      <th>Столбец 2</th>
      <th>Столбец 3</th>
      <th>Столбец 4</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <td>Подвал столбец 1</td>
      <td>Подвал столбец 2</td>
      <td>Подвал столбец 3</td>
      <td>Подвал столбец 4</td>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <td colspan="3">Строка2 Ячейка1 (соединена с ячейками 2 и 3)</td>
      <td rowspan="3">Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)</td>
    </tr>
    <tr>
      <td colspan="2" rowspan="2">Строка3 Ячейка1 (соединена с ячейкой 2 строки 3 и ячейками 1 и 2 строки 4)</td>
      <td>Строка3 Ячейка3</td>
    </tr>
    <tr>
      <td>Строка4 Ячейка3</td>
    </tr>
  </tbody>
</table>

Внешне, наша таблица никак не изменилась! Поэтому и приводить её я здесь не буду.

И как обычно, для закрепления материала на практике, советую Вам глянуть видео №3.

Видео 3. HTML таблицы – шапка, тело и подвал

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

Управление колонками в HTML таблицах

Осталось совсем немного ребята. Уже очень скоро таблицы полностью покоряться ваши рукам, головам, ногам или что там у вас ещё имеется в арсенале?

Мы рассмотрим ещё 2 тега, которые позволяют управлять колонками в таблицах.

Тег col

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

Что бы понять, как это всё работает, давайте первым двум колонкам — зададим ширину в 100 пикселей, третьей 150, а четвертой 200 пикселей. Для этого мы заведём 4 тега col , и каждому из них пропишем свой атрибут style с определённым значением ширины:

<table>
  <caption>Тег col в таблице</caption>
  <col>
  <col>
  <col>
  <col>
  <thead>
    <tr>
      <th>Столбец 1</th>
      <th>Столбец 2</th>
      <th>Столбец 3</th>
      <th>Столбец 4</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <td>Подвал столбец 1</td>
      <td>Подвал столбец 2</td>
      <td>Подвал столбец 3</td>
      <td>Подвал столбец 4</td>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <td colspan="3">Строка2 Ячейка1 (соединена с ячейками 2 и 3)</td>
      <td rowspan="3">Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)</td>
    </tr>
    <tr>
      <td colspan="2" rowspan="2">Строка3 Ячейка1 (соединена с ячейкой 2 строки 3 и ячейками 1 и 2 строки 4)</td>
      <td>Строка3 Ячейка3</td>
    </tr>
    <tr>
      <td>Строка4 Ячейка3</td>
    </tr>
  </tbody>
</table>

В итоге наша таблица выглядит уже так (обратите внимание на ширину каждой колонки):

Тег col в таблице
Столбец 1Столбец 2Столбец 3Столбец 4
Подвал столбец 1Подвал столбец 2Подвал столбец 3Подвал столбец 4
Строка2 Ячейка1 (соединена с ячейками 2 и 3)Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)
Строка3 Ячейка1 (соединена с ячейкой 2 строки 3 и ячейками 1 и 2 строки 4)Строка3 Ячейка3
Строка4 Ячейка3

Тег col можно сократить, если у него одинаковые параметры при помощи атрибута span . В нашем случае, у нас заданы одинаковые параметры для первой и второй колонки. Давайте сократим эти теги и допишем атрибут, вот такой код выйдет:

<table>
  <caption>Тег col в таблице</caption>
  <col span="2">
  <col>
  <col>
  <thead>
    <tr>
      <th>Столбец 1</th>
      <th>Столбец 2</th>
      <th>Столбец 3</th>
      <th>Столбец 4</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <td>Подвал столбец 1</td>
      <td>Подвал столбец 2</td>
      <td>Подвал столбец 3</td>
      <td>Подвал столбец 4</td>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <td colspan="3">Строка2 Ячейка1 (соединена с ячейками 2 и 3)</td>
      <td rowspan="3">Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)</td>
    </tr>
    <tr>
      <td colspan="2" rowspan="2">Строка3 Ячейка1 (соединена с ячейкой 2 строки 3 и ячейками 1 и 2 строки 4)</td>
      <td>Строка3 Ячейка3</td>
    </tr>
    <tr>
      <td>Строка4 Ячейка3</td>
    </tr>
  </tbody>
</table>

Таблицу приводить в пример не буду, так как она совершенно не поменялась.

Тег colgroup

Этот тег используется для объединения колонок по группам. Что бы понять, как он работает, давайте мы первые 3 колонки объединим в этот тег и зададим им какой-нибудь общий стиль. Например, сделаем заливку ячеек другим цветом.

Вот какой код ввёл я:

<table>
  <caption>Тег colgroup в таблице</caption>
  <colgroup>
    <col span="2">
    <col>
  </colgroup>
  <col>
  <thead>
    <tr>
      <th>Столбец 1</th>
      <th>Столбец 2</th>
      <th>Столбец 3</th>
      <th>Столбец 4</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <td>Подвал столбец 1</td>
      <td>Подвал столбец 2</td>
      <td>Подвал столбец 3</td>
      <td>Подвал столбец 4</td>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <td colspan="3">Строка2 Ячейка1 (соединена с ячейками 2 и 3)</td>
      <td rowspan="3">Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)</td>
    </tr>
    <tr>
      <td colspan="2" rowspan="2">Строка3 Ячейка1 (соединена с ячейкой 2 строки 3 и ячейками 1 и 2 строки 4)</td>
      <td>Строка3 Ячейка3</td>
    </tr>
    <tr>
      <td>Строка4 Ячейка3</td>
    </tr>
  </tbody>
</table>

В результате ячейки первых 3-ёх колонок окрасились в указанный нами цвет:

Тег colgroup в таблице
Столбец 1Столбец 2Столбец 3Столбец 4
Подвал столбец 1Подвал столбец 2Подвал столбец 3Подвал столбец 4
Строка2 Ячейка1 (соединена с ячейками 2 и 3)Строка2 Ячейка4 (соединена с ячейкой 4 в строках 3 и 4)
Строка3 Ячейка1 (соединена с ячейкой 2 строки 3 и ячейками 1 и 2 строки 4)Строка3 Ячейка3
Строка4 Ячейка3

Для закрепления материала рекомендую посмотреть последнее видео из этой серии под номером 4.

Видео 4. HTML таблицы – управление колонками

Как видите, ничего сложного в том, чтобы создать сложную функциональную таблицу нет. Главное знать теги и применять их в правильном назначении. Всё остальное – дело техники

На этом всё, мои дорогие друзья. Если будут вопросы касательно создания HTML таблиц – задавайте их в комментариях.

Skillbox Media / Разбираемся в семантической вёрстке таблиц

Структура таблиц очень похожа на структуру HTML-страницы. Только для страницы мы используем теги <header>, <main> и <footer>, а для таблицы — <thead>, <tbody> и <tfoot>.

Согласно стандарту HTML5, в таблице может быть только по одной секции thead и tfoot, а вот tbody — несколько.

Эти элементы полезны не только для доступности, но и для стилизации (как логичные точки добавления CSS к таблице).

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

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

В <thead> для ячеек используют тег <th>. Контент в ячейке th браузер выравнивает по центру, а текст к тому же отображает жирным шрифтом.

Например:

Сaption

 <table>
        <caption>Caption</caption>
        <thead>
            <tr>
                <th>th</th>
                <th colspan="4">th</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>td</td>
                <td>td</td>
                <td>td</td>
                <td>td</td>
                <td>td</td>
            </tr>
            <tr>
                <td>td</td>
                <td>td</td>
                <td>td</td>
                <td>td</td>
                <td>td</td>
            </tr>        
        </tbody>
    </table>

Из примера видно, что первая строка объединяет две ячейки <th>. Первая ячейка первой строки — это заголовок для других ячеек первого столбца, а вторая ячейка первой строки — это заголовок четырёх оставшихся столбцов.

Тег <th> задаёт особые ячейки, с которых начинаются строки или столбцы. В такой ячейке обычно хранится атрибут для всех данных строки или столбца.

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

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

Важно. Не применяйте <th> для визуального форматирования — только для выделения ячейки-заголовка. Этот принцип касается всех элементов разметки, которые обладают семантикой.

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

К тегу <th> и атрибуту scope мы вернёмся ближе к концу статьи, где подробнее поговорим о доступности таблиц для пользователей с ограниченными возможностями.

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

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

Тело таблицы располагается после заголовка <caption> и шапки <thead>.

Пример:

МесяцДни неделиОплата(тыс. р.)
ЯнварьПонедельник50
Вторник40
Среда35
Четверг40
Пятница15
Суббота60
Воскресенье30
ФевральПонедельник20
Вторник25
Среда15
Четверг70
Пятница77
Суббота63
Воскресенье30

Здесь нет заголовка <caption>, поэтому нужно его придумать и скрыть с помощью CSS (для доступности веб-содержимого).

Данные основной части таблицы надо сгруппировать по смыслу. У нас сначала идёт январь, затем февраль. Значит, для данных каждого месяца логично использовать свой <tbody>:

  • в первом <tbody> будут январские строки;
  • во втором <tbody> — февральские.

Секция <tfoot> используется для группировки содержимого нижней части таблицы.

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

А ещё это нижний колонтитул таблицы, браузер выводит его после <tbody>, а при печати таблицы содержимое <tfoot> может быть как на каждой напечатанной странице, так и только на последней (это зависит от браузера).

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

Для ячеек в секции <tfoot> следует использовать тег <td>.

Пример:

Таблица чисел

НечётноеЧётное
12
34
56
Вы узнали, что такое чётные и нечётные числа
<table>
        <caption>Таблицa чисел</caption>
        <thead>
            <tr>
                <th>Нечётное</th>
                <th>Чётное</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1</td>
                <td>2</td>
            </tr>
            <tr>
                <td>3</td>
                <td>4</td>
            </tr>
            <tr>
                <td>5</td>
                <td>6</td>
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <td colspan="2">
                   Вы узнали, что такое чётные и нечётные числа
                </td>
            </tr>
        </tfoot>
    </table>

Последняя строка нашего примера — это по смыслу итог таблицы. Поэтому её вполне уместно обернуть тегом <tfoot>, превратив в нижний колонтитул.

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


<div> 

<div> 

<div> 

<table > 

<thead> 

<tr > 

<th>User</th> 



<th>Sales RM</th> 



<th>Reimbursments</th> 



<th>GG RM</th> 



<th>GG RB</th> 



<th>GG RM&RB</th> 



<th>Discount</th> 



<th>Discount%</th> 

</tr> 

</thead> 



<tbody> 



<tr> 

<td>grandooi8888</td> 



<td>13,474</td> 



<td>10,000</td> 



<td>19,766</td> 



<td>-3,834</td> 



<td>15,932</td> 



<td>6,486</td> 



<td>25.46</td> 

</tr> 

<tr> 

<td>pooo3888</td> 



<td>12,300</td> 



<td>5,000</td> 



<td>16,300</td> 



<td>0</td> 



<td>16,300</td> 



<td>6,700</td> 



<td>41.10</td> 

</tr> 

<tr> 

<td>opale</td> 



<td>8,400</td> 



<td>0</td> 



<td>8,400</td> 



<td>7,251</td> 



<td>15,651</td> 



<td>9,300</td> 



<td>110.71</td> 

</tr> 

<tr> 

<td>jean</td> 



<td>8,100</td> 



<td>2,900</td> 



<td>5,150</td> 



<td>567</td> 



<td>5,717</td> 



<td>1,414</td> 



<td>17.45</td> 

</tr> 

<tr> 

<td>mpiii3y</td> 



<td>6,800</td> 



<td>6,500</td> 



<td>-425</td> 



<td>180</td> 



<td>-245</td> 



<td>800</td> 



<td>11.76</td> 

</tr> 

<tr> 

<td>sand</td> 



<td>6,798</td> 



<td>9,100</td> 



<td>-2,060</td> 



<td>0</td> 



<td>-2,060</td> 



<td>1,690</td> 



<td>24.86</td> 

</tr> 

<tr> 

<td>pooo12345</td> 



<td>5,600</td> 



<td>5,000</td> 



<td>600</td> 



<td>0</td> 



<td>600</td> 



<td>1,300</td> 



<td>23.21</td> 

</tr> 

<tr> 

<td>pommmh30d</td> 



<td>4,980</td> 



<td>0</td> 



<td>4,955</td> 



<td>865</td> 



<td>5,820</td> 



<td>2,353</td> 



<td>47.24</td> 

</tr> 

<tr> 

<td>emop2</td> 



<td>4,340</td> 



<td>0</td> 



<td>4,340</td> 



<td>1,428</td> 



<td>5,768</td> 



<td>2,230</td> 



<td>51.38</td> 

</tr> 

<tr> 

<td>Hagluck3</td> 



<td>3,950</td> 



<td>0</td> 



<td>3,950</td> 



<td>1,025</td> 



<td>4,975</td> 



<td>3,365</td> 



<td>85.18</td> 

</tr> 

<tr> 

<td>mesazz</td> 



<td>3,850</td> 



<td>10,000</td> 



<td>-6,150</td> 



<td>150</td> 



<td>-6,000</td> 



<td>650</td> 



<td>16.88</td> 

</tr> 

<tr> 

<td>Ompo</td> 



<td>2,800</td> 



<td>0</td> 



<td>2,710</td> 



<td>0</td> 



<td>2,710</td> 



<td>1,281</td> 



<td>45.75</td> 

</tr> 

<tr> 

<td>omeaz88</td> 



<td>2,612</td> 



<td>0</td> 



<td>2,612</td> 



<td>114</td> 



<td>2,726</td> 



<td>1,460</td> 



<td>55.89</td> 

</tr> 

<tr> 

<td>azz12a3</td> 



<td>2,600</td> 



<td>0</td> 



<td>2,600</td> 



<td>-1,700</td> 



<td>900</td> 



<td>3,000</td> 



<td>115.38</td> 

</tr> 

<tr> 

<td>mice</td> 



<td>2,240</td> 



<td>0</td> 



<td>2,240</td> 



<td>322</td> 



<td>2,562</td> 



<td>500</td> 



<td>22.32</td> 

</tr> 

<tr> 

<td>oazzem007</td> 



<td>2,200</td> 



<td>3,605</td> 



<td>2,200</td> 



<td>-5</td> 



<td>2,195</td> 



<td>1,590</td> 



<td>72.27</td> 

</tr> 

<tr> 

<td>poakk7</td> 



<td>1,695</td> 



<td>0</td> 



<td>1,690</td> 



<td>205</td> 



<td>1,895</td> 



<td>773</td> 



<td>45.60</td> 

</tr> 

<tr> 

<td>dddrs</td> 



<td>1,500</td> 



<td>0</td> 



<td>1,500</td> 



<td>0</td> 



<td>1,500</td> 



<td>2,000</td> 



<td>133.33</td> 

</tr> 

<tr> 

<td>3fr</td> 



<td>1,500</td> 



<td>0</td> 



<td>1,500</td> 



<td>0</td> 



<td>1,500</td> 



<td>1,750</td> 



<td>116.66</td> 

</tr> 

<tr> 

<td>ahmjjji</td> 



<td>1,450</td> 



<td>0</td> 



<td>1,449</td> 



<td>0</td> 



<td>1,449</td> 



<td>800</td> 



<td>55.17</td> 

</tr> </tbody> 

</table> 

</div> 

</div> 

</div> 

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


HTML-таблицы могут иметь границы разных стилей и форм.


Как добавить границу

Когда вы добавляете границу к таблице, вы также добавляете границы вокруг каждой ячейки таблицы:

Чтобы добавить границу, используйте свойство CSS border на стол , th , и td элементов:


Границы свернутой таблицы

Чтобы избежать двойных границ, как в примере выше, установите CSS border-collapse собственность на обрушение .

Это заставит границы сжаться в единую границу:

Пример

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

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

Границы таблицы стилей

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

Пример

table, th, td {
border: 1px сплошной белый;
граница-коллапс: коллапс;
}
th, td {
background-color: # 96D4D4;
}

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

Границы круглого стола

С свойством border-radius границы получают скругленные углы:

Пример

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

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

Пропустить границу вокруг таблицы, исключив таблицу из селектора css:




Тег таблицы HTML


Пример

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

<таблица>

Месяц
Экономия


Январь
г. 100

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

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


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

Тег

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

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

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


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

и.

Элемент

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

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

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

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

Тег

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


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

Тег

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



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

Пример

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




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

<таблица>













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


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

Пример

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

<таблица>

Месяц
Экономия


январь
100


февраль
80 долларов

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

Пример

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




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

<таблица >

Месяц
Экономия


январь
100


февраль
80 долларов

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

Пример

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

<таблица>

Месяц
Экономия


январь
100


февраль
80 долларов

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

Пример

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




таблица, th, td {
граница: сплошная 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 по умолчанию

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

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

Пример

стол {
дисплей: стол;
граница-развал: раздельная;
интервал границы: 2 пикселя;
цвет рамки: серый;
}

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

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

HTML-элемент

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

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

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

    выровнять

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

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

    Установите margin-left и margin-right to auto или margin до 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 .

    правила

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

    • нет , что означает, что правила отображаться не будут; это значение по умолчанию;
    • групп , что приведет к отображению правил между группами строк (определенными элементами
    , и ) и между группами столбцов (определенными элементом Только элементы и );
  • строк , что приведет к отображению правил между строками;
  • столбцов , что приведет к отображению правил между столбцами;
  • все , что приведет к отображению правил между строками и столбцами.
  • Для достижения аналогичного эффекта примените свойство 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-документах

      Таблицы в 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 для элемента ТАБЛИЦА ). Для примера визуальное представление групп столбцов, см. образец таблицы.

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

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

      Группа
      COLGROUP элемент

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

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

      интервал = номер [CN]
      Этот атрибут, который должен быть целым числом> 0, определяет количество столбцы в группе столбцов.Значения означают следующее:
      • При отсутствии атрибута диапазона каждый 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. Если Элемент TABLE содержит любые COLGROUP или COL элементы, пользовательские агенты должны рассчитывать количество столбцов, суммируя следующий:
        • За каждые Элемент COL , примите значение его Атрибут span (значение по умолчанию 1).
        • Для каждого элемента COLGROUP , содержащего хотя бы один COL элемент, игнорируйте span Атрибут для Элемент COLGROUP . Для каждого элемента COL выполните расчет шаг 1.
        • Для каждого пустого элемента COLGROUP возьмите значение его Атрибут span (значение по умолчанию 1).
      2. В противном случае, если элемент ТАБЛИЦА не содержит COLGROUP или COL элементы, пользовательские агенты должны основывать количество столбцы на том, что требуется строкам.Количество столбцов равно количество столбцов, необходимое для строки с наибольшим количеством столбцов, включая ячейки которые охватывают несколько столбцов. Для любой строки, в которой меньше этого числа столбцы, конец этой строки должен быть заполнен пустыми ячейками. «Конец» строка зависит от таблицы направленность.

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

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

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

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

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

      Фиксированный
      Спецификация фиксированной ширины указывается в пикселях (например, ширина = "30"). Спецификация фиксированной ширины позволяет увеличивать рендеринг.
      В процентах
      Процентная спецификация (e.г., ширина = "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  НОМЕР 1 - количество столбцов, охватываемых ячейкой -
        % cellhalign; - выравнивание по горизонтали в ячейках -
        % cellvalign; - выравнивание по вертикали в ячейках -
        >
       

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

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

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

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

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

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

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

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

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

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

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

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

      
       выровнять  (слева | по центру | справа | по ширине | char) # ПРЕДПОЛАГАЕТСЯ
           символ % Символ; # ПРЕДПОЛАГАЕТСЯ - символ выравнивания, e.грамм. char = ':' -
           charoff % Длина; # ПРЕДПОЛАГАЕТСЯ - смещение для символа выравнивания - "
        >
      
       valign  (верхняя | средняя | нижняя | базовая линия) # ПРЕДПОЛАГАЕТСЯ"
        >
       

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

      выровнять = left | center | right | justify | char [CI]
      Этот атрибут определяет выравнивание данных и обоснование текст в ячейке.Возможные значения:
      • слева: Выровнять данные по левому краю / Выровнять текст по левому краю. Это по умолчанию значение для табличных данных.
      • по центру: Центрировать данные / Выровнять текст по центру. Это по умолчанию значение для заголовков таблиц.
      • справа: Выровнять данные по правому краю / Выровнять текст по правому краю.
      • выровнять по ширине: Выровнять текст по двойному выравниванию.
      • char: Выровнять текст вокруг определенного символа. Если пользовательский агент не поддерживает выравнивание символов, поведение при наличии этого значения неопределенные.
      валин = верхняя | средняя | нижняя | базовая линия [CI]
      Этот атрибут определяет вертикальное положение данных в ячейке. Возможные значения:
      • верх: Данные ячейки находятся на одном уровне с верхом ячейки.
      • средний: Данные ячейки центрируются по вертикали внутри ячейки. Этот значение по умолчанию.
      • bottom: Данные ячейки находятся на одном уровне с нижней частью ячейки.
      • базовый уровень: Все ячейки в той же строке, что и ячейка, для которой Атрибут valign имеет это значение, должны иметь свои текстовые данные расположен так, чтобы первая текстовая строка находилась на базовой линии, общей для всех ячеек в ряду.Это ограничение не применяется к последующим текстовым строкам в этих клетки.
      символ = символ [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]
      Этот атрибут указывает, сколько места пользовательскому агенту следует оставлять между в левой части таблицы и в левой части крайнего левого столбца верх таблицы и верхняя часть самого верхнего ряда, и так далее для правой и внизу таблицы.Атрибут также указывает количество места для оставить между ячейками.
      подкладка = длина [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 
        
      
       

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

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

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

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

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

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

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

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

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

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

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

         Сан-Хосе 
       

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

        
         37.74 
       

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

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

      <ТАБЛИЦА 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 1257 Балтийский X 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-таблиц

      Вернуться к списку примеров HTML

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

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

      <таблица> Ячейка таблицы 1 Ячейка таблицы 2

      Дополнительная информация:

      , HTML Tables, Table Generator.

      <таблица>

      Заголовок таблицы Заголовок таблицы
      Ячейка таблицы 1 Ячейка таблицы 2

      Дополнительная информация: , Учебное пособие по таблицам HTML, Генератор таблиц.

      <таблица> Заголовок таблицы Ячейка таблицы 1 Ячейка таблицы 2

      Дополнительная информация: таблицы HTML, границы таблиц, цвет таблицы.

      <таблица> Заголовок таблицы Ячейка таблицы 1 Ячейка таблицы 2

      Дополнительная информация: Учебное пособие по таблицам HTML, Генератор таблиц.

      <таблица> Заголовок таблицы Ячейка таблицы 1 Ячейка таблицы 2

      Дополнительные сведения: Фон стола, Цвет фона стола.

      HTML-таблиц, учебное пособие на примере

      HTML-таблицы, учебное пособие на примере

      Расширения тега

      , поддерживается Netscape, включая BORDER, МЕХАНИЗМ, МЕХАНИЗМ И ШИРИНА. Вы можете присвоить ГРАНИЦЕ номер, чтобы указать ширина в пикселях внешней границы таблицы. Вы также можете присвоить номер CELLPADDING определение пространства (в пикселях) между содержимое ячейки и границы ячейки, в то время как CELLSPACING определяет пространство между ячейки (ширина границ).

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

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

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


      Пример 13: атрибут WIDTH

      ширина = 50% ширина = 35% XXX
      А B С
      Д E F

      Пример 1: простой (без границ).
      Арт. A1 Поз. A2 Артикул A3
      Поз. B1 Позиция B2 (это В3)
      Артикул C1 -C2- * C3 *
      Номер позиции D1 Товар D2 Арт. D3

      .

      Каждая строка ячеек (перечисленных в слева направо)
      окружен тегами

      и.

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

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

      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
        <таблица> 
         
                Поз. A1   
                Поз. A2   
                Поз. A3   
         
         
             Пункт B1 
             Пункт B2 
             (это B3) 
         
            
             Элемент C1 
             -C2- 
             * C3 * 
            
         
             Номер позиции D1 
             Элемент D2 
             Элемент D3 
         
         
       

      Пример 2: с рамкой.
      Арт. A1 Поз. A2 Артикул A3
      Поз. B1 Позиция B2 (это В3)
      Артикул C1 -C2- * C3 *
      Номер позиции D1 Товар D2 Арт. D3
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
       border = 3 >
         
      Пункт A1 Элемент A2 Пункт A3
      Пункт B1 Пункт B2 (это B3)
      Элемент C1 -C2- * C3 *
      Номер позиции D1 Элемент D2 Элемент D3

      Пример 3: с Cellpadding.
      Арт. A1 Поз. A2 Артикул A3
      Поз. B1 Позиция B2 (это В3)
      Артикул C1 -C2- * C3 *
      Номер позиции D1 Товар D2 Арт. D3
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      <таблица  cellpadding = 5 >
         
      Пункт A1 Элемент A2 Пункт A3
      Пункт B1 Пункт B2 (это B3)
      Элемент C1 -C2- * C3 *
      Номер позиции D1 Элемент D2 Элемент D3

      Пример 4: с границей и cellpadding.
      Арт. A1 Поз. A2 Артикул A3
      Поз. B1 Позиция B2 (это В3)
      Артикул C1 -C2- * C3 *
      Номер позиции D1 Товар D2 Арт. D3
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
       border = 3 cellpadding = 5 >
         
      Пункт A1 Элемент A2 Пункт A3
      Пункт B1 Пункт B2 (это B3)
      Элемент C1 -C2- * C3 *
      Номер позиции D1 Элемент D2 Элемент D3

      Пример 5: с `` ячейками заголовка ''.
      Поз. A1 Поз. A2 Поз. A3
      Поз. B1 Позиция B2 (это В3)
      Артикул C1 -C2- * C3 *
      Номер позиции D1 Товар D2 Арт. D3
      является (по умолчанию
      ) в виде обычного текста, и по левому краю;

      текст в

      (по умолчанию
      ) выделено полужирным шрифтом , и по центру

      текст в `` ячейках данных '' `` ячейках заголовка ''
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      
            < th > Позиция A1 < / th >
            < th > Позиция A2 < / th >
            < th > Пункт A3 < / th >
         
      Пункт B1 Пункт B2 (это B3)
      Элемент C1 -C2- * C3 *
      Номер позиции D1 Элемент D2 Элемент D3

      Пример 6: Отмена значений по умолчанию
      для
      и..
      Арт. A1 Товар A2 Арт. A3
      Поз. B1 Позиция B2 (это В3)
      Артикул C1 -C2- * C3 *
      Арт. номер D1 Товар D2 Изделие D3
      Значения по умолчанию для стиля ячеек можно переопределить
      с опцией ALIGN = в
      и
      теги, и используя обычный
      жирный шрифт а также курсивом теги.
      (обратите внимание, что в этом примере border = 7!)
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      align = right > Элемент A1 Пункт A2 Пункт A3
      Пункт B1 Пункт B2 (это B3)
      align = center > Элемент C1 -C2- * C3 *
      Позиция номер D1 Элемент D2 align = right > Элемент D3

      Пример 7: пустые ячейки
      Поз. A2 Артикул A3
      Поз. B1 Позиция B2
      Артикул C1 -C2-
      Номер позиции D1
      Пустые ячейки даже не получают границы
      - если вы не используете специальный символ
      & nbsp; ( n на b reaking sp ace)
      как заполнитель в ячейке.
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
           
      Элемент A2 Пункт A3
      Пункт B1 Пункт B2
      Элемент C1 -C2-
      Номер позиции D1 & nbsp;

      Пример 8: colspan
      Пункты A1, A2 Артикул A3
      Поз. B1 Позиция B2 (это В3)
      Артикул C1 Пункты C2 и C3
      Элементы с маркировкой D1, D2 и D3
      Используя параметр colspan = 2
      внутри
      или Тег
      делает ширину ячейки равной 2
      `` нормальных '' ячейках.Значение
      colspan может быть любым числом
      до полного числа
      столбцов в таблице.
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      colspan = 2 > Пункты A1, A2 Пункт A3
      Пункт B1 Пункт B2 (это B3)
      Элемент C1 colspan = 2 > Пункты C2 и C3
      colspan = 3 > Элементы с пометкой D1, D2 и D3

      Пример 9: rowspan
      Арт. A1 Поз. A2 Пункты А3,
      B3,
      C3
      Поз. B1 Позиция B2
      Позиции C1 и D1 -C2-
      Арт. D2 Арт. D3
      Используя параметр rowspan = 2
      внутри
      или Тег
      увеличивает высоту ячейки до 2
      `` нормальных '' ячеек.Значение
      пролет между рядами может быть любым числом
      до полного числа
      строк в таблице.
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      Пункт A1 Элемент A2 rowspan = 3 > Элементы A3,
      B3,
      C3
      Пункт B1 Пункт B2
      rowspan = 2 > Элементы C1 и D1 -C2-
      Элемент D2 Элемент D3

      Пример 10: colspan и rowspan
      Позиции A1,
      B1
      Пункты A2, A3
      Позиции B2, B3
      Поз. C1 C2, D2 * C3 *
      Номер позиции D1 Арт. D3
      Вы можете смешать colspan и пролет между рядами
      в той же таблице, но будьте осторожны, чтобы
      исключил `` избыточные '' ячейки.
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      rowspan = 2 > Элементы A1,
      B1
      colspan = 2 > Пункты A2, A3
      colspan = 2 > Пункты B2, B3
      Элемент C1 rowspan = 2 > C2, D2 * C3 *
      Номер позиции D1 Элемент D3

      Пример 11: таблицы внутри таблицы

      Содержимое ячейки
      может быть другой таблицей.
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      <граница таблицы>
      A1a1 A1a2
      A1b1 A1b2
      A2 A3
      B1 B2 B3
      C1
      A1a1 A1a2
      A1b1 A1b2
      C3

      Пример 12:
       предварительное форматирование 
      
       10 долларов.98 305,20 долл. США 29,95 долл. США 3,16 долл. США
         11,05 291,80 39,95 0,87
         12,77 290,10 19,95 0,23
         23,51 301,40 9,95 0,79
          7,39 306,90 99,95 1,50
         20,16 295,30 79,95 0,90
       
      Конечно, нет необходимости использовать тег
      вообще, если простой текст уже
      правильно выровнен с использованием шрифта фиксированной ширины;
      заключить предварительно отформатированный текст в
         и 
      теги.
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
        
       
       10 долларов.98 305,20 долл. США 29,95 долл. США 3,16 долл. США
         11,05 291,80 39,95 0,87
         12,77 290,10 19,95 0,23
         23,51 301,40 9,95 0,79
          7,39 306,90 99,95 1,50
         20,16 295,30 79,95 0,90
        

      Пример 13: атрибут WIDTH

      <Ширина таблицы = 75%> определяет таблицу 75% на всю ширину окна Netscape.

      (или TD) указывает, что размер ячейки составляет 50% от полной ширины таблицы.

      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      <таблица  ширина = 75% 
        border = 3
        cellpadding = 2>
      
      WIDTH = 50% > 50% WIDTH = 35% > 35% XXX
      А Б C
      D E F

      подготовил Брюс[email protected]

      HTML-таблицы - Учебное пособие по таблицам с примером кода

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

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

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

      Но обо всем по порядку - что такое таблица в HTML?

      Что такое таблица в HTML?

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

      Таблицы

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

      Вы можете создать таблицу в HTML, используя элементы. Таблица может быть объявлена ​​с использованием трех основных элементов, а именно:

      • <таблица> - это основной контейнер.
      • - представляет собой строки.
      • - используется для создания ячеек данных.
      Синтаксис таблицы HTML:
        <таблица>
        
           Ячейка 1 
           Ячейка 2 
           Ячейка 3 
        
        
           Ячейка 4 
           Ячейка 5 
           Ячейка 6 
        
      
        
      Ячейка 1 Ячейка 2 Ячейка 3
      Ячейка 4 Ячейка 5 Ячейка 6

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

      .

      Как добавить заголовок таблицы в HTML

      Вы можете добавить заголовок таблицы с помощью тега

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

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

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

        <таблица>
        
      Компания Связаться Страна
      TechMania Мария Германия
      Коммерческий центр Франциско Мексика
      Компания Контакт Страна
      TechMania Мария Германия
      Торговый центр Франциско Мексика

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

      Как использовать атрибут области в HTML

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

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

      Этот атрибут может быть объявлен только в ячейке заголовка и принимает значения «col», «row», «colgroup» и «rowgroup». Значения «col» и «row» указывают, что ячейка заголовка предоставляет информацию заголовка для остальных ячеек в столбце или строке (соответственно), где она расположена.

      Синтаксис атрибута области
        
        

      Пример в коде

        <таблица>
        
           День 
           Сегодня 
           Завтра 
           четверг 
        
      
        
           Условие 
           Солнечно 
           Преимущественно солнечно 
           Небольшая облачность 
        
      
        
           Температура 
           19 ° C 
           17 ° C 
           12 ° C 
        
      
        
      День Сегодня Завтра Четверг
      Состояние Солнечный Преимущественно солнечно Переменная облачность
      Температура 19 ° С 17 ° С 12 ° С

      Как добавить подпись к таблице

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

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

      Синтаксис заголовка
        <таблица>
         
         
      
        

      Пример в коде

        <таблица>
         Расход топлива автомобилей во время драйв-тестов 
        
           Автомобиль 
           январь 
           февраль 
           март 
        
        
           G-Wagon 
           30 галлонов 
           82 галлона 
           70 галлонов 
        
      
        
      Расход топлива автомобилей при ходовых испытаниях
      Автомобиль Январь Февраль марта
      G-универсал 30 галлонов 82 галлона 70 галлонов

      Как использовать разбиение ячеек в таблице HTML

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

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

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

      Пример кода:
        <таблица>
        
           
           День 1 
           День 2 
           День 3 
           День 4 
        
        
           Майк (ранен) 
           0 км 
           4 км 
        
        
           Сьюзан 
           23 км 
           18 км 
           19 км 
           15 км 
        
        
      День 1 День 2 День 3 День 4
      Майк (ранен) 0 км 4 км
      Сьюзан 23 км 18 км 19 км 15 км

      Обратите внимание, что в приведенном выше примере у нас есть ячейка, охватывающая 3 ячейки, как указано colspan .То же самое происходит в случае rowspan , но в этом случае это будет вертикальное перекрытие.

      Пример кода:
        <таблица>
        
           
           Базовый 
           Полный 
        
        
           Настройка 
           Бесплатно! 
           49,99 долл. США 
        
        
           Первый год 
           19,99 долл. США 
        
        
           Второй год 
           9 долларов США.99 
           29,99 долл. США 
        
      
        
      Базовый Полный
      Настройка Бесплатно! 49,99 долл. США
      Первый год $ 19,99
      Второй год 9,99 долл. США 29,99 долл. США

      При использовании colspan и rowspan убедитесь, что вы объявляете их правильно, чтобы избежать перекрытия ячеек.

      Как добавить заголовок, текст и нижний колонтитул в таблицы HTML

      Таблица, как и веб-сайты с тремя основными разделами. Мы можем разделить наши таблицы на три основные части: верхний колонтитул, тело и нижний колонтитул.

      • - используется для создания отдельного заголовка для таблицы.
      • - указывает основную часть таблицы.
      • - создает отдельный нижний колонтитул для таблицы.

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

        <таблица>
        
          
             
             Энтони 
             Лион 
          
          
             Дата 
             Доход 
             Результат 
             Доход 
             Результат 
          
        
      
        
          
             15 июля 
             200,00 долл. США 
             50,00 долл. США 
             0 долларов 
             0 долларов 
          
          
             28 июля 
             0,00 долл. США 
             100,00 долл. США 
             100,00 долл. США 
             0,00 долл. США 
          
        
          
        <фут>
          
             Баланс 
             20,00 долларов США 
             10,00 долларов США 
          
        
        
      Энтони Лион
      Дата Доход Результат Доход Результат
      15.07 $ 200,00 $ 50,00 $ 0 $ 0
      28.07 $ 0,00 $ 100,00 $ 100,00 $ 0,00
      Остаток $ 20,00 $ 10,00

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

      Как стилизовать таблицы HTML с помощью CSS

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

      Чтобы добавить стиль к таблице, вам потребуется создать файл .css, на который вы будете ссылаться в своем основном файле HTML.

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

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

      Когда использовать таблицу в HTML

      Вы можете использовать таблицу в своем HTML много раз.

      Вы можете использовать таблицы, если хотите сравнить и сопоставить данные с общими характеристиками

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

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

      Заключение

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

      , ,
      .

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

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

      .
      Оставить комментарий

      Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *

      © 2019 Штирлиц Сеть печатных салонов в Перми

      Цифровая печать, цветное и черно-белое копирование документов, сканирование документов, ризография в Перми.