Работа с таблицами (на начало урока 13)
Регистрационная метка
Выходим в Интернет (на оглавление книги)
На начало урока 13

03. Дизайн на таблицах

Конструкторы гипертекстовых страниц широко используют таблицы для вёрстки материала. В этом разделе будут продемонстрированы дизайнерские приёмы, основанные на стандартных HTML-таблицах.

На этой странице:

Вверх Заголовочная часть сайта

Построим заголовочную часть, состоящую из трёх элементов:

  • логотип. Выровнен по левому краю страницы;
  • заголовок. Выровнен по центру страницы;
  • вспомогательный рисунок. Выровнен по правому краю страницы.

Заголовочная часть сайта

Зададимся целью построить “резиновый” заголовок, то есть такой, который бы подстраивался под текущую ширину окна, сохраняя запланированные типы выравнивания своих элементов:

Заголовочная часть сайта в окне другой ширины

Исходный материал — три картинки:

Логотип Заголовок Декорация

Поместим эти изображения в таблицу, состоящую из одной строки с тремя ячейками:

Заголовочная часть в таблице

Для таблицы укажем следующие атрибуты:

Атрибут Комментарий
border=0 Отключаем показ табличных границ
cellspacing=0
cellpadding=0
Убираем все отступы
width=100% Растягиваем таблицу на всю ширину окна

Для ячеек зададим атрибуты:

Атрибут (1,1) (1,2) (1,3) Комментарий
align left center right В первой — слева, в последней — справа, в средней — по центру.
valign middle В средней — центрирование по вертикали.
width 94 94 Для первой ячейки укажем ширину, равную ширине картинки, которая в ней находится. Также поступим с последней ячейкой. Для средней ячейки ширину не задаём — она и будет “резиновой”.

Для рисунка-заголовка укажем отступ по горизонтали в 10 пикселов (hspace=10), чтобы картинки не смыкались в узких окнах.

Откройте окно построенного примера и проверьте “резиновые” свойства заголовочной части, меняя размеры окна:

  
Посмотреть

Вверх Табличный макет страницы

Спроектируем страницу, макет которой показан на рисунке:

Макет страницы

Построим таблицу, имеющую подобную структуру:

Логотип Заголовок
Меню Основное содержимое Новости
Автор

Код этой таблицы:

  

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

Пример страницы, построенной по макету

Вверх Картинки в таблицах

Использование распорок

Распорка (GIF, содержащий одну прозрачную точку) довольно часто используется в качестве инструмента дизайнера. “Растягивая” точку до прямоугольника нужных размеров, можно придать “жёсткость” проектируемым областям, не позволяя им уменьшаться вслед за уменьшением окна браузера.

Покажем метод использования распорок на примере. Пусть нужно создать страницу по следующему макету:

Макет страницы

Решение без распорок:

  
Посмотреть

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

Распорки помогут исправить ситуацию:

  
Посмотреть

Теперь, при уменьшении окна, браузер включит линейку прокрутки, но не изменит заданную ширину полей.

Рамка

Простейшую рамку можно получить, поместив картинку в табличную ячейку:

Задумчивый портрет

Код этой таблицы:

  

Обратите внимание, код элемента IMG плотно прилегает (без пробелов и концов строки) к коду табличной ячейки. А если записать код с пробелами?

  

Это приведёт к неплотному прилеганию картинки к границам ячейки:

Задумчивый портрет

Сконструируем паспарту с подписью (справа показана структура таблицы, в которую погружена картинка и подпись):

Задумчивый портрет
Задумчивый портрет
Картинка
Подпись

Код таблицы с картинкой:

  

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

Сначала нарисуем рамку в графическом редакторе:

Нарисованная рамка

При помощи подходящего средства (например, в программе Adobe ImageReady) вырежем из рисунка “кирпичики”, которые будем использовать для построения рамки произвольного размера:

Заготовки для рамки

Полученные заготовки будут фоновыми картинками в соответствующих ячейках таблицы размером 3×3. Саму картинку будем располагать в центральной ячейке (2,2), а подпись в ячейке (3,2):

Макет таблицы

Реализуя задуманное, получим следующее оформление для картинки:

Задумчивый портрет
Задумчивый портрет

Код этого примера:

  

В пустых ячейках используется распорка (empty.gif). Пустой ячейку оставлять нельзя — не все браузеры правильно показывают таблицу с пустыми клетками. Использовать неразрывный пробел ( ) тоже нельзя — при увеличении размера шрифта, размеры пробела также будут увеличиваться, и это может привести к появлению разрывов в рамке.

Заготовку легко использовать многократно, например, поместить в неё другую картинку:

Вася Кук изучает информатику
Вася Кук изучает информатику

Рамку можно использовать в качестве врезки для размещения в ней различных материалов:

Азы информатики
Александр Александрович Дуванов «Азы информатики» — это курс для начинающих. Он рассчитан на 5 лет школьного обучения, стартовый возраст — пятый класс (но можно и с третьего; зависит от уровня предварительной подготовки учеников).

Автор курса — Александр Александрович Дуванов. Он же автор электронной компоненты курса.

kurs@robotland.pereslavl.botik.ru

Сборная графика

О преимуществах разрезанной картинки говорилось в уроке 12.

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

Исходная картинка

Оптимизация приводит к следующему результату: в форматах GIF и PNG-8 качество получается плохим. Размер файла в формате PNG-24 (сжатие без потерь) — 83 килобайта. Оптимизация в формате JPEG приводит к приемлемому результату по качеству при файле размером в 52 килобайта.

Но даже объём в 52 килобайта не годится для Web, ведь совокупный размер всей страницы не должен превышать 50 килобайт.

Разрежем картинку на четыре части:

Выкройка

Оптимизация частей приводит к неплохому результату — сокращению общего размера до 29 килобайт (уменьшение на 44%):

Фрагмент Формат Размер
img11 GIF 1 004 КБ
img12 PNG 14 808 КБ
img21 JPEG 7 801 КБ
img22 GIF 5755 КБ
Итого   29 368 КБ

Для отображения картинки погрузим её части в таблицу 3×3 (ячейки, которые предстоит объединить, выделены цветом):

Макет таблицы

Последний столбец — вспомогательный. Без него браузерам будет трудно построить таблицу, в которой нет ни одного “нормального” столбца на три ячейки.

В каждую ячейку последнего столбца поместим картинку-распорку шириной в 1 пиксел.

Распорка — это прозрачное GIF-изображение размером 1×1 пиксел. То есть в этой картинке всего один пиксел, и он — прозрачный. Используя размерные атрибуты элемента IMG, эту картинку можно растянуть по горизонтали и вертикали до нужных размеров. Например, тег

  

задаёт на экране квадрат со стороной 200 пикселов (файл empty.gif — распорка). Понятно, что этот квадрат, да и любой другой прямоугольник, построенный на экране при помощи картинки empty.gif, пользователь не увидит — ведь размерные атрибуты “растягивают” прозрачную точку!

Результат работы представлен ниже:

  
Посмотреть

Отметим важные моменты в этом коде.

  • Для таблицы указана ширина в 401 пиксел: 400 — ширина исходной картинки, 1 — ширина распорки. Высота таблицы (300 пикселов) совпадает с высотой исходной картинки. Для ячеек ширина и высота не указаны, браузер будет их вычислять исходя из ширины и высоты изображений, которые в них помещены.
  • Распорка в коде — это файл empty.gif.
  • Границы кода элементов IMG примыкают к границам кода ячеек без пробелов и концов строк — чтобы в ячейке не появились ненужные промежутки.

При разрезании исходной картинки в программе Adobe ImageReady, генерируется автоматический HTML-код, подобный приведённому выше, в качестве распорки указывается файл spacer.gif

На начало урока 13

Азы информатики RU 2000/2007 © А.А.Дуванов

Вверх Оглавление книги Урок 12. Графика на страницах Письмо автору Об авторах