Наверняка
вы часто видели советы по верстке, собранные в виде длинного файла
вопросов и ответов. Это очень полезная информация, однако html-страницу
обычно приходится верстать "от" и "до". Когда я начинала заниматься
web-дизайном, я смотрела исходные коды других сайтов и пыталась в них
разобраться. Но зачем подсматривать? Перед вами - подробно разобранный
пример одной верстки по типичному шаблону.
HTML верстка. Урок 1: Создание "каркаса" страницы
Итак, у нас есть макет страницы (допустим, в формате Photoshop). На
рисунке - его уменьшенное изображение (чтобы посмотреть макет в полную
величину, кликните на рисунке). Теперь откройте html-страницу,
которую мы должны сверстать из этого макета. Она выглядит абсолютно
одинаково в Internet Explorer, Opera и Firefox. Попробуйте свернуть
окно до размеров 640х480, а потом развернуть на весь экран. Как видите,
вся страница хорошо растягивается, даже формы ввода:) Теперь отключите
изображения в вашем браузере - страница осталась вполне читаема.
В уроках, которые вы сейчас читаете, мы подробно рассмотрим технологию такой верстки, чтобы html-страница:
не зависимо от разрешения экрана, браузера (возьмем самые
популярные: IE, Firefox, Opera), темы оформления Windows и настроения
вебмастера, выглядела бы одинаково - как на макете;
была "читаемой" даже при отключенной графике;
имела легкий, удобный для редактирования html-код;
растягивалась на полную ширину экрана.
Создайте файлы index.html и style.css. В процессе верстки мы
постараемся большую часть форматирования вынести в style.css, т.к.:
размер html-страниц будет меньше;
если вы в будущем захотите отредактировать дизайн сайта, вам не понадобится менять все html-файлы - только style.css.
Наметим "каркас" нашей страницы. Удобно делать его в виде таблицы
100%-й высоты, разделенной на 3 горизонтальные области - Top, Text и
Bottom. Top и Bottom имеют фиксированную высоту, а ячейка Text
растягивается по высоте на всю оставшуюся часть экрана. Таким образом,
даже когда на странице мало или совсем нет текста, Bottom всегда
находится там, где ему положено - внизу.
Мы сделаем разметку немного сложнее, т.к. нам нужно, чтобы блоки
Search, News, Copyright были равны по ширине. Лучший способ этого
добиться - поместить их в ячейки таблицы, расположенные одна над
другой.
Вот получившийся html-код (я специально поставила параметр border="1" в теге
и написала внутри каждой ячейки ее название, чтобы мы удостоверились,
что сделали разметку правильно. Потом все это нужно будет удалить.
Для каждой ячейки был создан класс в style.css. Посмотрите на первый
рисунок. Пока эти классы пустые, наша таблица в браузере не не очень
похожа на ту, которая на макете. Чтобы она выглядела так, как на втором
рисунке, необходимо внести еще несколько изменений.
1) Чтобы не было промежутков между таблицей и границами экрана, пишем:
html, body { margin:0px; padding:0px; }
2) Чтобы убрать зазоры между ячейками, добавляем в свойства таблицы border-collapse: collapse (это аналог html-параметра cellspacing="0").
table.main { border-collapse: collapse; }
3) Чтобы убрать отступы внутри ячеек, пишем:
td { padding: 0px; }
Также нужно прописать несколько общих параметров, которые будут использоваться по умолчанию:
5) Цвет фона для и элементов форм. Когда фон белый, об этом часто
забывают. Тогда у пользователей, установивших какую-нибудь экзотическую
тему оформления Windows, некоторые ячейки могут оказаться, например,
зелеными :)
6) Когда большая часть текста будет написана одним шрифтом (в нашем
случае - Tahoma 11px, черный), имеет смысл указать его сразу для всех
ячеек и элементов форм.
7) По умолчанию текст и изображения располагаются (вертикально) в
середине ячейки. Обычно удобнее, чтобы они подтягивались к верхнему
краю. Для этого нужно указать vertical-align: top для всех ячеек.