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

Элемент

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

Элемент

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

Задачи

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

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

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

Каждый тег

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

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

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

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

Заголовок 1Заголовок 2Заголовок 3
Ячейка 2x1 Ячейка 2x2 Ячейка 2x3
Ячейка 3x1 Ячейка 3x2 Ячейка 3x3

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

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

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

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




Рамка вокруг таблицы

Заголовок 1Заголовок 2Заголовок 3
Ячейка 2x1 Ячейка 2x2 Ячейка 2x3
Ячейка 3x1 Ячейка 3x2 Ячейка 3x3

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

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

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

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




Рамка вокруг таблицы

Заголовок 1Заголовок 2Заголовок 3
Ячейка 2x1 Ячейка 2x2 Ячейка 2x3
Ячейка 3x1 Ячейка 3x2 Ячейка 3x3

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

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

или . Интервал ячеек (border-spacing ) — это расстояние между ними ( или ). Сначала присвойте значение separate свойству border-collapse элемента , а затем установите расстояние между ячейками, изменив значение параметра border-spacing . Раньше за поля и интервал ячеек отвечали атрибуты cellpadding и cellspacing элемента
, но в спецификации HTML5 они были признаны устаревшими.

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

Пример: Применение свойств padding и border-spacing

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




padding и border-spacing

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

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

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

Table {width: 100%;}

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

  • Попробуй сам »
Ячейка 1 Ячейка 2
Ячейка 3 Ячейка 4




width: 100%

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

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

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

или ячейки объединяются посредством добавления атрибутов colspan или rowspan . Атрибут colspan определяет количество ячеек, на которые простирается данная ячейка по горизонтали, а rowspan — по вертикали.

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

Объединение столбцов достигается с помощью атрибута colspan в элементах

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

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

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




Атрибут colspan

colspan ="2">Ячейка на два столбца
Ячейка 1Ячейка 2
Ячейка 3Ячейка 4

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

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

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

  • Попробуй сам »
Ячейка на две строки Ячейка 1 Ячейка 2
Ячейка 3 Ячейка 4




Атрибут rowspan

rowspan ="2">Ячейка на две строки Ячейка 1Ячейка 2
Ячейка 3Ячейка 4

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

Для создания заголовка или подписи таблицы используется парный тег

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

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

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

Основное содержимое (тело) таблицы должно находиться внутри элемента

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

Пример: Теги

, и
  • Попробуй сам »




Теги thead, tbody и tfoot

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




Элемент caption

Это заголовок таблицы
Ячейка на две строки Ячейка 1Ячейка 2
Ячейка 3Ячейка 4

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

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

Заголовок 1Заголовок 2< /th>
Это шапка таблицы
Это подвал таблицы
Ячейка 1Ячейка 2Ячейка 3Ячейка 4

Несмотря на то, что мы перед

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

Как сделать таблицу в html

Приведем пример, html код:

Пример таблицы
Столбец 1 Столбец 2

Обратите внимание на ячейку

. Мы используем специальный атрибут colspan для объединения ячеек по горизонтали. Его численное значение указывает число объединяемых столбцов. Также существует аналог этого атрибута: тег (заголовок таблицы), где нужно также прописать colspan. Результат будет таким же. Но зачастую используют обычный td.

Теперь рассмотрим подробно все атрибуты тега

.

Атрибуты и свойства тега

К открывающему тегу

можно прописывать различные атрибуты.

1. Свойство align="параметр" - задает выравнивание таблицы. Может принимать следующие значения:

В разобранном выше примере мы выравнивали таблицу по центру align="center" .

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

. Таким образом, в разных ячейках выравнивание будет разное.

Например

, , , или
  • cols - линия отображается между колонками
  • none - все границы скрываются
  • rows - граница рисуется между строками таблицы, созданными через тег
  • 12. Свойство width="число" - задает ширину таблицы: либо в пикселях, либо в процентах.

    13. Свойство class="имя_класса" - можно указать имя класса, которому принадлежит таблица.

    14. Свойство style="стили" - стили можно задать индивидуально для каждой таблицы.

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

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

    2. Свойство background="URL" - задает фоновой рисунок. Вместо URL должен быть написан адрес фонового изображения.

    Пример

    Пример таблицы
    Столбец 1 Столбец 2

    Преобразуется на странице в следующее:

    В рассмотренном примере наше фоновое изображение находится в папке img (которая находится в той же директории, что и html-страница), а называется изображение fon.gif . Обратите внимание на то, что в теге мы добавили style="color:white;" . Поскольку фон почти черный, то для того, чтобы текст не слился с фоном, мы сделали текст белым.

    3. Свойство bgcolor="цвет" - задает цвет фона таблицы. В качестве цвета можно выбрать любой из всей палитры (см. коды и названия html цветов)

    4. Свойство border="число" - задает толщину рамки таблицы. В предыдущих примерах мы указывали border="1" , что означает толщина рамки - 1 пиксель.

    5. Свойство bordercolor="цвет" - задает цвет рамки. Если border="0" , то рамки не будет и цвет рамки не будет иметь смысла.

    6. Свойство cellpadding="число" - отступ от рамки до содержимого ячейки в пикселях.

    7. Свойство cellspacing="число" - расстояние между ячейками в пикселях.

    8. Свойство cols="число" - число столбцов. Если его не задать, то браузер сам определит число столбцов. Разница лишь в том, что указание этого параметра, скорее всего, ускорит загрузку таблицы.

    9. Свойство frame="параметр" - как отображать границы вокруг таблицы. Может принимать следующие значения:

    • void - не отрисовывать границы
    • border - граница вокруг таблицы
    • above - граница по верхнему краю таблицы
    • below - граница снизу таблицы
    • hsides - добавить только горизонтальные границы (сверху и снизу таблицы)
    • vsides - рисовать только вертикальные границы (слева и справа от таблицы)
    • rhs - граница только на правой стороне таблицы
    • lhs - граница только на левой стороне таблицы

    10. Свойство height="число" - задает высоту таблицы: либо в пикселях, либо в процентах.

    11. Свойство rules="параметр" - где отображать границы между ячейками. Может принимать следующие значения:

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

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

    1. Свойство align="параметр" - задает выравнивание отдельной ячейки таблицы. Может принимать следующие значения:

    • left - выравнивание по левому краю
    • center - выравнивание по центру
    • right - выравнивание по правому краю

    2. Свойство background="URL" - задает фоновое изображение ячейки. Вместо URL должен быть написан адрес фонового изображения.

    3. Свойство bgcolor="цвет" - задает цвет фона ячейки.

    4. Свойство bordercolor="цвет" - задает цвет рамки ячейки.

    5. Свойство char="буква" - задает букву, от которой нужно сделать выравнивание. Значение атрибута align должно быть установлено как char.

    6. Свойство colspan="число" - задает число объединяемых горизонтальных ячеек.

    7. Свойство height="число" - задает высоту таблицы: либо в пикселях, либо в процентах %.

    8. Свойство width="число" - задает ширину таблицы: либо в пикселях, либо в процентах %.

    9. Свойство rowspan="число" - задает число объединяемых вертикальных ячеек.

    10. Свойство valign="параметр" - выравнивание содержимого ячейки по вертикали.

    • top - выравнивание содержимого ячейки по верхнему краю строки
    • middle - выравнивание по середине
    • bottom - выравнивание по нижнему краю
    • baseline - выравнивание по базовой линии
    Примечание 1

    Для тега

    . Параметры для одного тега
    внутри него

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

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

    ...

    Уважаемый читатель, теперь Вы узнали гораздо больше о html теге table. Теперь советую перейти к следующему уроку.

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

    Создание таблицы

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

    Для добавления таблицы на веб-страницу используется тег

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

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

    Тег TABLE

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

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

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

    Теги и атрибуты таблиц

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

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

      Горизонтальное выравнивание текста в определенном столбце таблицы можно изменить, указав стиль text-align для псевдокласса td:nth-child(n) , где n – номер столбца. Однако, этот метод не сработает, если среди ячеек таблицы присутствует атрибут colspan .

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

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


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

      или

      Пример
      - тег, создающий ячейку заголовка таблицы. Внешне её содержимое отличается от контента в других ячейках - обычно текст внутри обозреватель выделяет жирным и размещает по центру.
    • - контейнер, с помощью которого создаётся простая ячейка. Сколько таких тегов будет содержать строка (тег
      , если его нет, то после .
    • используется для той же цели, что и . может содержать , но не наоборот.
    • span - атрибут, задающий число столбцов, к которым применяются свойства контейнера
    • .
    • , и - контейнеры, которые позволяют разделить таблицу соответственно на верхнюю (заголовки), основную (тело) и нижнюю (итоговую) части. В HTML-таблице последовательность этих тегов такая же, как последовательность контейнеров , и
      в HTML-документе.
    • colspan нужен для объединения ячеек в строке. Значение атрибута содержит цифру, которая и задаёт количество объединяемых ячеек.
    • rowspan объединяет ячейки по столбцам.
    • Пример создания таблицы

      Создайте документ формата HTML и скопируйте в него следующий код:

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

      Инструменты создания сайтов
      НазначениеИнструмент
      РазметкаHTMLXHTML
      ОформлениеCSS
      РазработкаPHPPython

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

      Разберём, какие строчки кода за что отвечают.

      • - открыли таблицу, задав ей толщину рамок.
      • - озаглавили её.
      • - открыли строку.
      • - создали ячейку с оформлением заголовка.
      • - создали вторую заголовочную ячейку в строке. Параметром colspan указали, что эта ячейка должна занимать по горизонтали две.
      • - закрыли строку. Аналогично создали остальные строки.
      • - добавили вторую строку таблицы уже с обычными, а не заголовочными, ячейками. Аналогично вставили последующие строки и ячейки.
      • Инструменты создания сайтов
        Назначение Инструмент
        Разметка HTML XHTML
        - закрыли таблицу.

      Таблица c рамками

      Имя Фамилия
      Лариса Исаева
      Дмитрий Колесников

      РЕЗУЛЬТАТ:

      Таблица без рамок

      Таблица c рамками

      Атрибуты тегов
      и для объединения ячеек
      Пример
      хорьки
      вес размер
      самцы 1.2 – 2.5 кг до 70см
      самки 0.7 – 1.0 кг до 40см

      РЕЗУЛЬТАТ:

      хорьки
      вес размер
      самцы 1.2 – 2.5 кг до 70см
      самки 0.7 – 1.0 кг до 40см

      По стандарту HTML5 все ранее используемые атрибуты таблицы, такие как border , cellspacing , cellpadding и др. больше не поддерживаются и их использование валидатор считает ошибками в коде. Для оформления таблиц нужно использовать CSS-стили, с помощью которых можно заменить все устаревшие атрибуты таблиц . Например, вместо атрибута cellspacing для изменения расстояния между ячейками таблицы используется свойство border-spacing , а для выравнивания содержимого в ячейках таблицы – свойства text-align и vertical-aling . CSS-стили для оформления таблиц

      Теги группирования строк html таблицы

      Для создания более сложных таблиц можно использовать теги:

      Пример
      Потребление пива
      Ф.И.О. литров
      Итого 250
      Иванов Иван Иванович 133
      Петров Петр Петрович 117

      РЕЗУЛЬТАТ:

      Теги группирования столбцов html таблицы

      Атрибут тегов
      желтый красный

      РЕЗУЛЬТАТ:


      Не пытайтесь установить стиль text-align для тегов

      ... не является потомком ни тега
      Наименование Цена (руб.)
      Поминутная оплата солярия (от 4 минут)15
      50 минут солярия (14 руб/мин, 1 мес.)700
      100 минут солярия (13 руб/мин, 2 мес.)1300
      200 минут солярия (12 руб/мин, 3 мес.)2400

      РЕЗУЛЬТАТ:


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