- •Теги для таблиц
- •Создание таблицы
- •Пример 12.1. Создание таблицы
- •Создание таблицы
- •Пример:
- •Обрамление таблицы
- •Пример:
- •Заголовок таблицы
- •Пример:
- •Группирование столбцов
- •Пример:
- •Группирование строк
- •Пример:
- •Задание цвета элементов таблицы
- •Пример:
- •Графический фон таблицы
- •Пример:
- •Выравнивание данных в таблице
- •Пример:
- •Изменение размеров таблицы
- •Пример:
- •Слияние ячеек таблицы
- •Пример:
- •Улучшение внешнего вида таблицы
- •Отображение границ таблицы
- •Пример:
- •Перенос слов в ячейках таблицы
- •Вложенные таблицы
- •Пример:
- •Обтекание таблицы текстом
- •Пример:
- •Особенности таблиц
- •Выравнивание таблиц
- •Пример 12.2. Выравнивание таблицы по правому краю
- •Объединение ячеек
- •Пример 12.3. Неверное объединение ячеек
- •Пример 12.4. Объединение ячеек по вертикали и горизонтали
- •Создание таблицы. Пример
- •Табличная верстка
- •Преимущества и недостатки таблиц
- •Преимущества таблиц
- •Создание колонок
- •«Резиновый» макет
- •«Склейка» изображений
- •Громоздкий код
- •Плохая индексация поисковиками
- •Нет разделения содержимого и оформления
- •Несоответствие стандартам
- •Особенности таблиц
- •Ширина таблицы
- •Ширина ячеек
- •Пример 1. Ширина ячеек
- •Пример 2. Свойство table-layout
- •Пример 3. Полосы прокрутки в ячейках
- •Содержимое ячеек
- •Объединение ячеек
- •Пример 4. Таблица с объединенными ячейками
- •Скорость загрузки таблицы
- •Макет из двух колонок
- •Ширина колонок
- •Пример 1. Ширина колонки в пикселах
- •Пример 2. Использование стилей
- •Поля внутри колонок
- •Пример 3. Использование полей
- •Пример 4. Поля в ячейках
- •Цвет фона колонок
- •Пример 5. Цвет фона
- •Разделитель колонок
- •Пример 6. Использование трех ячеек
- •Линия между колонками
- •Пример 7. Добавление линии
- •Макет из трех колонок
- •Ширина колонок в пикселах
- •Пример 1. Фиксированная ширина колонок
- •Ширина колонок в процентах
- •Пример 2. Ширина колонок в процентах
- •Сочетание процентов и пикселов
- •Пример 3. Ширина колонок в процентах и пикселах
- •Пример 4. Вложенные таблицы
Пример 3. Полосы прокрутки в ячейках
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Таблица</title>
<style type="text/css">
TD DIV {
overflow: scroll; /* Добавляем полосы прокрутки */
width: 200px; /* Ширина элемента */
}
</style>
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="4" border="1">
<tr>
<td width="200"><div><img src="images/dino.gif"
width="289" height="120" alt="Динозаврик"></div></td>
<td>...</td>
</tr>
</table>
</body>
</html>
Результат данного примера показан на рис. 3.
Рис. 3. Отображение рисунка при использовании свойства overflow
Содержимое ячеек
Браузеры иначе отображают ячейку, внутри которой ничего нет. «Ничего» в данном случае означает, что внутрь ячейки не добавили ни рисунок, ни текст, причем пробел в расчет не принимается. Естественно, вид ячеек различается только в том случае, если вокруг них установлена граница. При использовании невидимой рамки, вид ячеек, независимо от того, есть в них что-нибудь или нет, совпадает.
Старые браузеры не отображали цвет фона пустых ячеек вида <td bgcolor="#ffcc00"></td>, поэтому в том случае, когда требовалось оставить ячейку без содержимого, но отобразить цвет фона, внутрь ячейки добавляли неразделяемый пробел ( ). Пробел не всегда подходит, особенно когда нужно установить высоту ячейки 1–2 пиксела, из-за чего широкое распространение получил прозрачный рисунок размером в один пиксел. Действительно, такой рисунок можно масштабировать на свое усмотрение, но он на веб-странице никак не отображается.
К счастью эпоха однопиксельных рисунков и всяческих распорок на их основе прошла. Браузеры достаточно корректно работают с таблицами и без присутствия содержимого ячеек.
Объединение ячеек
Предположим, что нам потребовалось использовать объединение некоторых ячеек в таблице, как, например, показано ниже. Причем высота оранжевой и серой ячейки жестко задана и равна 30 пикселам.
Ячейка 1 |
Ячейка 2 |
Ячейка 3 |
|
Ячейка 4 |
Для наглядности код этой таблицы приведен в примере 4.
Пример 4. Таблица с объединенными ячейками
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Таблица</title>
</head>
<body>
<table width="300" border="1" align="center" cellpadding="4" cellspacing="0">
<tr>
<td width="94" height="30" bgcolor="#ffcc33">Ячейка 1</td>
<td width="184" rowspan="2" valign="top">Ячейка 2</td>
</tr>
<tr>
<td valign="top">Ячейка 3<br><br></td>
</tr>
<tr bgcolor="#cccccc">
<td colspan="2" height="30">Ячейка 4</td>
</tr>
</table>
</body>
</html>
Хотя высота оранжевой ячейки вроде как указана фиксированной, она может произвольно меняться в зависимости от объема информации в других ячейках. Подобная неприятность замечена в некоторых браузерах.
При повышении сложности таблицы за счет увеличения числа ячеек и их объединений, растет вероятность и повышения ошибок при отображении документа. За счет этого объединение ячеек по вертикали применяют достаточно редко и в том случае, когда высота ячеек не оказывает существенного влияния на макет страницы.
Чтобы все-таки получить нужный результат, одну таблицу разбивают не несколько мелких таблиц или вкладывают таблицу внутрь ячейки другой таблицы. Вложенные таблицы получили свое распространение именно по той причине, что дают устойчивый и однообразный результат.