Если вы читали статью "Основные этапы создания сайта", то помните, что верстка сайта происходит
после этапа создания макета. Иными словами, у вас должны быть готовы картинки всех ключевых страниц сайта.
Будем считать, что они сделаны и посмотрим на примере, как из картинки сделать html-страницу, причем страницу сверстаем с
помощью блоков. Именно этим блочная верстка сайта и отличается от табличной, в основе которой лежит таблица.
Итак, мы имеем вот такую картинку (макет подготовлен в программе Photoshop).
Создадим папку, назовем ее, например, restaurant. В нее создадим и положим две страницы: index.html и style.css, а также
папку images, куда будем складывать картинки. Все ссылки в примерах будут иметь относительные адреса, исходя из данной
структуры.
Теперь посмотрим на наш макет. Для начала выключим весь текст. Конечно, в Photoshop можно нарисовать очень красивое название
сайта, но с точки зрения дальнейшей оптимизации страниц сайта для его продвижения, лучше, чтобы название сайта являлось
текстом, а не картинкой.
Теперь разделим нашу картинку на блоки. Это можно сделать по-разному, например, так:
Именно такие картинки, с такими названиями мы и сложим в папку images. Обратите внимание, картинка reklama_bg будет фоном,
поэтому ее можно сохранить в виде тонкой полоски, так же можно поступить и с картинкой footer.
Еще нам понадобится картинка с фоном всей страницы, вот такая:
Последний нюанс, у сайта может быть фиксированный либо резиновый дизайн. Рассмотрим сначала фиксированный, т.е.
ширина нашей страницы будет всегда одинакова - 800 пикселов.
Теперь все готово для верстки, открываем index.html и пишем стандартный код:
Блочная верстка сайта
Теперь в теги <body> </body> поместим блок с идентификатором main и разместим в нем все
намеченные нами на картинке блоки:
Блочная верстка сайта
Теперь с помощью таблицы стилей (style.css) зададим положение, размер и фон этих блоков.
Блок main имеет ширину 800px, фоновый рисунок fon_bg.jpg, который повторяется по вертикали:
Блок header находится в нормальном потоке, имеет ширину 800px и высоту 155px (это размеры фонового рисунок header.jpg, который не повторяется
ни по горизонтали, ни по вертикали):
Блоки menu1, menu2, menu3 находятся в нормальном потоке, имеют ширину 800px, а высоты 35px для menu1, 36px -
для menu2 и 72px - для menu3 (это размеры соответствующих фоновых рисунков):
Блоки reklama и content будут плавающими.
Чтобы блок content прижимался к правой стороне блока reklama мы зададим обоим свойство
float:left. Ширина блока reklama - 263px (по фоновому рисунку),
а блока content - все остальное пространство, т.е. 507px.
Блок reklama, в свою очередь, состоит из трех блоков:
reklama_top (ширина 263px, высота 67px (по фоновому рисунку),
reklama_text (ширина 263px, высота будет зависеть от содержания, а фоновый рисунок будет повторяться
по вертикали),
reklama_bottom (ширина 263px, высота 35px (по фоновому рисунку).
Все три блока находятся в нормальном потоке. Запишем это:
И последний блок - блок footer. Его ширина 800px, высота 28px, фоном является повторяющийся по горизонтали
рисунок footer.jpg. Чтобы этот блок расположился ниже предыдущих, мы запретим его обтекание с обеих сторон свойством
clear:both.
Сейчас наша страница выглядит так. Она прижата к левому краю и
имеет отступы сверху и слева. Давайте ее отцентрируем и уберем ненужные отступы. Проблема с отступами решается добавлением
свойства margin:0px для body. Центрировать будем так же, как делали это
в примере о выравнивании страниц.
Осталось наполнить страницу нужным текстом, этим мы займемся в следующем уроке. В качестве тренировки, можете взять
любую картинку и перенести ее аналогичным образом в html.