В начало НазадДалее

 

Таблицы

 

Полученные знания уже позволяют нам создать простейший HTML-документ, но не более того. Для создания сложных страниц понадобится знание таблиц, потому что в современной верстке все строится именно на их основе. Если вы с таблицами не знакомы вовсе, то советую вам купить хорошую книжку по HTML. Я, конечно, постараюсь кое-что рассказать и объяснить, но на детали не рассчитывайте. Итак, создадим таблицу, состоящую из двух строк и трех столбцов. В языке HTML это делается следующим образом:

<TABLE WIDTH="100%" CELLSPACIN&="5" CELLPADDING="10" BORDER="1"> <TR>

<TD>1 ячейка (1 строка)</TD>

<TD>2 ячейка (1 строка)</TD>

<TD>3 ячейка (1 строка)</TD> </TR> <TR>

<TD>1 ячейка (2 строка)</TD>

<TD>2 ячейка (2 строка)</TD>

<TD>3 ячейка (2 строка)</TD> </TR> </TABLE>

Как данная таблица выглядит в браузере, ясно из рис. 1.6.

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

Рассмотрим атрибуты элемента <table>. В примере указаны лишь основные, но вы редко будете пользоваться другими атрибутами. Итак.

О WIDTH *

Обозначает ширину таблицы. В приведенном примере ширина равна 100%, т. е. таблица займет все доступное окно браузера по ширине. При установке ширины таблицы можно использовать проценты (%) и пикселы (рх).

Ширину таблицы задают в пикселах, когда хотят задать ее жестко. В этом случае она не будет растягиваться на все окно браузера и не будет зависеть от разрешения экрана, а всегда будет иметь заданное значение. Например, если написать <table яютн="зоо">, то таблица будет иметь ширину ровно 300 пикселов (если, конечно, содержимое физически сможет уместиться в эту ширину, потому что в противном случае таблица растянется, чтобы вместить в себя содержимое).

Ширину таблицы задают в процентах, если нужна гибкость. Тогда таблица будет иметь разную ширину при разных разрешениях, и будет изменяться при изменении размеров окна браузера. Например, если написать <table width=ioo%>, то при разрешении 800х600 (и окне браузера, развернутом на полный экран) ширина таблицы будет около 800 пикселов (немного меньше, потому что элементы интерфейса браузера отнимут некоторое пространство), а при разрешении 1024х768 ширина таблицы будет около 1024 пикселов.

П BORDER

Обозначает ширину рамки таблицы. Каждая ячейка таблицы имеет рамку, однако нельзя установить рамку для какой-то определенной ячейки, рамки устанавливаются сразу для всех ячеек в теге <table>. Если установить border="o", то рамок не будет вовсе, при любом другом значении рамки будут. На фактическую ширину рамки влияет еще и атрибут cells pacing.

О CELLS РАС ING . .

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

атрибут border="i". Но фактическая ширина рамки равна 5 пикселам. Так получается из-за того, что значение атрибута cellspacing равно 5.

CELLPADDING

Обозначает ширину отступов вокруг содержимого каждой ячейки. В нашем примере атрибут cellpadding="io", т. е. ширина полей равна 10 пикселам. Для более глубокого понимания особенностей данных атрибутов давайте рассмотрим еще один пример, но с другими значениями.

<TABLE WIDTH="200" CELLSPACING="0" CELLPADDING="0" BORDER="1"> <TR>

<TD>1 ячейка (1 строка)</TD>

<TD>2 ячейка (1 строка)</TD>

<TD>3 ячейка (1 строка)</TD> </TR> <TR>

<TD>1 ячейка (2 строка)</TD>

<TD>2 ячейка (2 строка)</TD>

<TD>3 ячейка (2 строка)</TD> . </TR> </TABLE>

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

Обратите внимание на отличия от предыдущего примера. Во-первых, ширина таблицы равна точно 200 пикселов, во-вторых, ширина рамки равна одному пикселу (потому что атрибут border="i", а атрибут cellspacing="o"),

в-третьих, содержимое каждой ячейки вплотную прилегает к рамкам, потому что ширина отступов вокруг содержимого равна нулю (атрибут

CELLPADDING="0").

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

<TABLE WIDTH="200" CELLSPACING="0" CELLPADDING="0" BORDER°"1"> <TR>

<TD>1 ячейка (1 строка)</TD>

<TD>2 ячейка (1 строка)</TD>

<TD>3 ячейка (1 строка)</TD> </TR> <TR>

<TD>1 ячейка (2 строка)</TD>

<TD COLSPAN="2">2 и З ячейка (2 строка)</TD> </TR> </TABLE>

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

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

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

Для объединения ячеек по вертикали существует атрибут rows pan. По механизму действия он аналогичен атрибуту colspan, так что подробно останавливаться на нем не будем.

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

П left — содержимое выравнивается по левому краю;

П right — содержимое выравнивается по правому краю;

П center — содержимое выравнивается по центру;

D justify — текст выравнивается по ширине путем увеличения расстояния между словами.

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

В начало НазадДалее

Hosted by uCoz