Читать книгу «HTML, XHTML и CSS на 100%» онлайн полностью📖 — Игоря Квинта — MyBook.

3.6. Группировка строк и столбцов

В стандарте HTML 4 появились новые элементы для группировки (не объединения, а именно группировки) строк и столбцов таблицы в группы с общими свойствами.

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

Полезным атрибутом элементов COLGROUP и COL является атрибут span со значением n. Атрибут распространяет свойства, заданные этими элементами на n столбцов в группе.

<table>

<col span=2 style="color:red">

<tr><td> Этот текст будет красным цветом </td>

<td> И этот текст будет красным цветом </td>

<td> А этот текст будет черным цветом </td></tr>

</table>

Для группировки строк таблицы служат элементы THEAD, TBODY и TFOOT. Их использование существенно облегчает компоновку и форматирование таблиц.

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

<thead>

<tr><th> </th><th> </th><th> </th></tr>

</thead>

</tbody>

<tr><td> </td><td> </td><td> </td></tr>

<tr><td> </td><td> </td><td> </td></tr>

<tbody>

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

1. Сгруппировать строки нужным образом.

2. Указать видимость границы между группами строк.

3.7. Выравнивание таблицы и содержимого ячеек

Для выравнивания элементов таблиц по горизонтали и вертикали в элементах TABLE, TR, TH и TD используют атрибуты align и valign.

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

• <table align=left/right/center> – таблицы на странице по левому краю/правому краю/по центру;

• <tr align=left/right/center> – элементов строки по левому краю/правому краю/по центру;

• <th align=left/right/center> – заголовка таблицы по левому краю/правому краю/по центру (по умолчанию по центру);

• <td align=left/right/center/char> – данных в ячейке по левому краю/ правому краю/по центру/по заданному символу (по умолчанию по левому краю).

Атрибут valign также применяется ко всем элементам таблицы и определяет общее вертикальное выравнивание:

• <table valign=bottom/middle/top> – элементов таблицы внизу/по центру/вверху (по умолчанию по центру);

• <tr valign=bottom/middle/top> – элементов строки внизу/по центру/ вверху;

• <th valign=bottom/middle/top> – заголовка таблицы внизу/по центру/ вверху;

• <td valign=bottom/middle/top> – данных в ячейке внизу/по центру/ вверху.

В листинге 3.6 приведен пример использования в различных комбинациях описанных выше атрибутов форматирования таблицы и содержимого ячеек (рис. 3.11).

Листинг 3.6. Пример использования выравнивания таблицы и содержимого ячеек

<html>

<head>

<title>Простая HTML-таблица</title>

</head>

<body>

<table border="4" bordercolor="#000000" cellspacing="0" cellpadding="0"width= "400" height="150" align=center>

<caption>Наименование товара</caption>

<tr><th>Товар </th><th>Код</th><th>Количество</th><th>Цена </th></tr>

<tr valign=bottom align=center>

<td>Клей</td><td>028</td><td>190 шт </td><td>12,2 руб</td></tr>

<tr valign=bottom align=center>

<td>Скотч</td><td>058</td><td>120 шт </td><td>4,6 руб </td></tr>

<tr valign=bottom align=center>

<td>Ластик</td><td>986</td><td>100 шт </td><td>2,3 руб </td></tr>

</table>

</body>

</html>

Рис. 3.11. Пример использования выравнивания таблицы и содержимого ячеек

3.8. Объединение ячеек таблицы

На практике встречается большое количество таблиц, в которых одна ячейка объединяет в себе несколько ячеек по высоте и ширине (см. рис. 3.2). В HTML ячейки объединяют с помощью атрибутов colspan и rowspan. Атрибут colspan определяет количество ячеек, на которые простирается данная ячейка по горизонтали, а rowspan – по вертикали.

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

Рис. 3.12. Таблица с объединенными ячейками


Листинг 3.7. Пример использования атрибутов объединения ячеек

<html>

<head>

<title>HTML-таблица</title>

<head>

<body>

<table border="4" bordercolor="#000000" cellspacing="0" cellpadding="5" >

<tr align=center><th colspan=3>Ячейка объединяет в себе все ячейки строки </th></tr>

<tr align=center><td rowspan=2>Ячейка на две строки </td>

<td>Ячейка 2х2</td><td>Ячейка 2х3</td></tr>

<tr align=center><td>Ячейка 3х2</td><td>Ячейка 3х3</td></tr>

<tr align=center><td rowspan=2>Ячейка на две строки</td>

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

<tr align=center><td>Ячейка 5х2</td><td>Ячейка 5х3</td></tr>

</table>

</body>

</html>