ГлавнаяУроки html → Урок 10. Работа с таблицами сложной структуры

HTML - Урок 10. Работа с таблицами сложной структуры

Тег colspan - объединение столбцов

Самым распространенным применением таблиц сложных структур является разметка web-страницы. Посмотрите на рисунок:

шапка сайта
меню контент
низ сайта


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

шапка сайта
меню контент
низ сайта


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

Например,
<td colspan="2">
Этот столбец включает в себя два столбца.

Для нашего примера:

<html> <head> <title>Заголовок документа</title> </head> <body> <table width="715" border="1" align="center" cellspacing="0" cellpadding="10"> <tr bgcolor="darkred"> <td colspan="2" height="100">шапка сайта</td> </tr> <tr bgcolor="oldlace"> <td width="190" height="300">меню</td> <td>контент</td> </tr> <tr bgcolor="darkred"> <td colspan="2" height="30">низ сайта</td> </tr> </table> </body> </html>
Обратите внимание, что первая и третья строки теперь содержат по одному столбцу.

Рассмотрим другой пример разметки web-страницы:

шапка сайта
меню меню меню меню меню меню
новости контент


Посчитайте - сколько строк и столбцов в этой таблице? Для этого наложите мысленно сетку на рисунок. Получится три строки и шесть столбцов.

Первая строка состоит из одного столбца, включающего в себя шесть столбцов. Запишем это:

<tr bgcolor="darkred"> <td colspan="6" height="60">шапка сайта</td> </tr>


Вторая строка состоит из шести столбцов:

<tr bgcolor="oldlace"> <td height="30">меню</td> <td height="30">меню</td> <td height="30">меню</td> <td height="30">меню</td> <td height="30">меню</td> <td height="30">меню</td> </tr>


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

<tr> <td colspan="2" height="190" bgcolor="darkred">новости</td> <td colspan="4" bgcolor="#FFFFFF">контент</td> </tr>


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

Тег rowspan - объединение строк

А если нам понадобится вот такая разметка?

меню шапка
контент


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

Для такого случая есть параметр rowspan тега <td>. Этот параметр указывает браузеру объединить несколько строк в одну. Значением этого параметра является число, указывающее сколько строк будет объединено.

Например,
<td rowspan="2">
Здесь столбец включает в себя две строки.

Для нашего рисунка:

<html> <head> <title>Заголовок документа</title> </head> <body> <table width="715" border="1" align="center" cellspacing="0" cellpadding="10"> <tr bgcolor="darkred"> <td rowspan="2" width="30%">меню</td> <td height="60">шапка</td> </tr> <tr bgcolor="oldlace"> <td height="200">контент</td> </tr> </table> </body> </html>


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

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

Рассмотрим еще один пример:

шапка меню
контент
низ сайта


Итак, в первой строке у нас два столбца, причем второй столбец объединяет две строки. Запишем это:
<tr bgcolor="darkred"> <td width="70%" height="60">шапка</td> <td rowspan="2">меню</td> </tr>
Вторая строка - это один столбец (просто его часть скрыта вторым столбцом первой строки):
<tr bgcolor="oldlace"> <td height="200">контент</td> </tr>
Наконец, третья строка - это один столбец, включающий в себя три столбца:
<tr bgcolor="darkred"> <td colspan="2" height="30">низ сайта</td> </tr>


Используя эти два параметра rowspan и colspan можно создавать таблицы любой сложности. Потренируйтесь.

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

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

Итак, у нас есть вот такой код:

<html> <head> <title>Заголовок документа</title> </head> <body> <table width="715" border="1" align="center" cellspacing="0" cellpadding="10"> <tr bgcolor="darkred"> <td width="70%" height="60">шапка</td> <td rowspan="2">меню</td> </tr> <tr bgcolor="oldlace"> <td height="200">контент</td> </tr> <tr bgcolor="darkred"> <td colspan="2" height="30">низ сайта</td> </tr> </table> </body> </html>


Давайте внутрь нашего контента поместим во такую таблицу:



Картинки для нее подберите сами. Код этой таблицы простой - три строки и два столбца:

<table width="470" border="1" align="center" cellspacing="0" cellpadding="10"> <tr> <td width="100"><img src="f1.jpg" width="100" height="70"></td> <td>Здесь текст о ромашках</td> </tr> <tr> <td width="100"><img src="f2.jpg" width="100" height="70"></td> <td>Здесь текст о тюльпанах</td> </tr> <tr> <td width="100"><img src="f3.jpg" width="100" height="70"></td> <td>Здесь текст о герберах</td> </tr> </table>


Теперь возьмем код этой таблицы и поместим его вместо слова "контент" в код нашей разметки:

<html> <head> <title>Заголовок документа</title> </head> <body> <table width="715" border="1" align="center" cellspacing="0" cellpadding="10"> <tr bgcolor="darkred"> <td width="70%" height="60">шапка</td> <td rowspan="2">меню</td> </tr> <tr bgcolor="oldlace"> <td height="200"> <table width="470" border="1" align="center" cellspacing="0" cellpadding="10"> <tr> <td width="100"><img src="f1.jpg" width="100" height="70"></td> <td>Здесь текст о ромашках</td> </tr> <tr> <td width="100"><img src="f2.jpg" width="100" height="70"></td> <td>Здесь текст о тюльпанах</td> </tr> <tr> <td width="100"><img src="f3.jpg" width="100" height="70"></td> <td>Здесь текст о герберах</td> </tr> </table> </td> </tr> <tr bgcolor="darkred"> <td colspan="2" height="30">низ сайта</td> </tr> </table> </body> </html>


Результат:



Теперь уберем все границы у вложенной таблицы. Для этого в теге <table> этой таблицы зададим параметр <border="0">

<table width="470" border="0" align="center" cellspacing="0" cellpadding="10" >


Результат:



Именно так оформляется контент при табличной верстке сайтов.

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



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

Уроки PHP Уроки PHP Уроки PHP Уроки PHP Уроки PHP Уроки PHP

Код кнопки:


Скачайте одним архивом видеоуроки HTML!

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