Блочная верстка | Урок 9

17.12.2007 | Рубрики: Верстка
Тэги: , , ,

Это заключительный урок из серии “Блочная верстка веб-сайта”. Нам осталось только оформить “подвал” (footer), да сделать еще пару-тройку замечаний.
Подвал, он же “футер” — это весьма важная часть сайта, хотя и мало кто туда добирается, особенно при очень длинных страницах. Там обычно дублируются ссылки на разделы сайта, пишутся копирайты и контактная информация. Очень часто можно наблюдать такую картину: верхнее гризонтальное меню под “шапкой” практически без изменений дублируется в левой колонке. Выглядит это, по меньшей мере, бестолково. Уж лучше продублировать основные разделы сайта в подвале. Пользы будет несомненно больше.

Футер не должен доминировать над шапкой, но и не должен теряться, делая страницу неуравновешенной. Мы сделаем его немного контрастным по цвету, но небольшой высоты.

Запишем в коде страницы сразу после этого места:

.................
...намечаются до самого утра. При наличии на небе луны — будет весело.
</ul>
</div>
<div class="clearfloat"></div>

Следующий код:

<div id="footer">
<p>Главная | <a href="#" mce_href="#">О нас</a> | <a href="#" mce_href="#">О летучести</a> | <a href="#" mce_href="#">О везучести</a> | <a href="#" mce_href="#">Свинки-герои</a> | <a href="#" mce_href="#">Подружиццо</a></p>
<p>© PIG.RU, 2007 | All right reserved. | <a href="http://validator.w3.org/check?uri=http://www.dizweb.ru/pig/index.html" mce_href="http://validator.w3.org/check?uri=http://www.dizweb.ru/pig/index.html">XHTML</a> | <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.dizweb.ru/pig/style.css" mce_href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.dizweb.ru/pig/style.css">CSS</a> | e-mail: <a href="mailto:piggs@pig.ru" mce_href="mailto:piggs@pig.ru">piggs@pig.ru</a></p>
</div>

Здесь у нас слово Главная не является ссылкой (об этом мы уже говорили), а следом идут обычные ссылки на другие разделы сайта. Всего в футере два абзаца. В первом ссылки на разделы, а во втором как раз и есть всякие копирайты, ссылка на “мыло” и ещё две интересные ссылочки. Вот они уже как раз для форсу бандитского! Это ссылки на валидаторы — конторы, которые проверяют вашу страницу на соответствие стандартам. Ссылки устроены так, что нажимая на них, вы сразу даёте команду этим самым валидаторам проверить ваши странички (которые уже лежат в сети конечно же). И тут же получаете ответ. Сие придаёт вашим страничкам солидность и всеопщее наше верстальское одобрение.

Вот практически и вся страница. Проверьте только чтобы в конце кода у вас было два /div подряд. Вот так:

..........
href="mailto:piggs@pig.ru" mce_href="mailto:piggs@pig.ru">piggs@pig.ru</a></p>
</div>
</div>
</body>
</html>

Второй /div — это закрытие области контейнера.

Теперь допишем в листе стилей оставшийся код:

#footer {
background : #665;
color : #fff;
font-size : 70%;
padding : 5px;
clear : both;
}

#footer a {
color : #ff0;
}

#footer a:hover {
color : #f00;
}

#footer p {
padding : 2px;
text-align : center;
}

.clearfloat {
clear : both;
}

Здесь мы задали фон серо-зелёного цвета, цвет текста — белый. А вот нижняя строчка в первом правиле (clear : both;) означает, что с обоих сторон подвала не должно быть ничего. То есть он у нас занимает всю ширину нижней части контейнера.

Ссылки у нас здесь ярко-жёлтые, а в активном состоянии — красные. Для текста мы выбрали размер мельче всех на странице — 70%. Как я и сказал, футер — важная часть, но не на столько, чтобы бросаться в глаза.

Выравнивание для текста мы задали по центру.

Самое последнее правило как раз служит для блока очистки, заданного атрибутом clearfloat, о котором мы говорили, верстая блок новостей.

Сохраняемся, смотрим. Всё вроде бы хорошо, но как-то неуютно (особенно на белом фоне экрана). Добавим-ка мы всей странице тонкую светло-серую рамку! Откроем лист стилей, найдем вот это место:

#container {
width : 760px;
margin : 0 auto;
}

И добавим следующую строчку:

border : 1px solid #999;

Должно получиться следующее:

#container {
width : 760px;
margin : 0 auto;
border : 1px solid #999;
}

Вот, собственно, и всё!
Реальный сайт о парасенгах можно посмотреть здесь — Pigfly.ru. От первоначального макета мало что осталось. Ну, главное идея, а править сайт можно бесконечно. Хотя идея тоже изменилась, и теперь Летающие Парасенги — это сайт О Счастье, Удаче и Богатстве и даже чуточку о Дзэн.

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

Напоминаю, что наша верстка является “плавающей“. Грубо говоря — элементы на странице располагаются как бы в потоке, занимая свободные места. Поэтому мы и ограничили часть пространства контейнером как коробкой, в которую уложили поочередно все элементы. Кроме плавающей, конечно же, есть и жесткая привязка элементов к странице. В самом общем случае для этого каждому элементу строго задается местоположение, например — расстоянием в пикселах от верхней и левой стороны экрана. Но это уже совсем другая история.

Удачи! :)

Вебсовет

1 2 3 4 5 6 7 8 9

Комментарии (63)

  1. Виталий 17.08.2008

    Здравствуйте Игорь!
    Обращаюсь к Вам за советом на Вебсовет, помогите пожалуйста.
    А дело вот в чем. По Вашей книге я написал код сайта, все получилось хорошо,
    спасибо Вам. Но сайт мой состоит из 12 страниц. Я рассчитывал, что в тот же самый
    #container будет загружаться контент других страниц и слава Богу. Но не тут то было:
    почему то двухколоночные блоки всех страниц ( кроме главной) прижимаются к
    левому краю и что тут делать у меня знаний не хватает. Как писать код для других страниц; для каждой новый #container??? Я попробовал некоторые варианты, но увы…
    Вразумите, пожалуйста
    C уважением Виталий Горьков.

    Ответить

  2. Игорь Квентор 18.08.2008

    Здравствуйте, Виталий!
    Рад бы помочь, но не видя кода ничего подсказать не могу :) Пришлите мне на мыло ваши файлы, я посмотрю.

    Ответить

  3. Наталия 03.10.2008

    Статья просто восхитительная! Огромное СПАСИБО!

    Ответить

  4. Дмитрий 23.10.2008

    Потрясающая статья …спасибо вам огромное…мое представление о верстке перевернуто

    Ответить

  5. Ник 16.11.2008

    Здравствуйте еще раз :) У меня опять вопрос : Вот я сделал сайт, не по этому уроку, а благодаря полученным знаниям из этого урока, и проблема :
    В «опере» и «хроме» все отлично а в IE 7 —
    1. Почему то не поддерживается размер шрифта 150% на CSS
    2. У меня трехколоночный сайт, три блока примерно по 350 пикселей каждый. В IE все это сбивается к черту, как будто не хватает места тексту, и он налезает на следующий блок.
    3. Уменьшенный шрифт, 75% тоже показывается как обычный. В итоге все наполнение сайта, как заголовки, так и маленькие даты — всё набрано одним цветом. Что делать? Заранее ОГРОМНОЕ спасибо за ответ!

    Ответить

  6. Ник 16.11.2008

    Да, еще — извините за много вопросов :) В ИЕ 7 сбились все параметры margin и padding, кроме padding-a для задания отступов фона навигации. Что с этим можно сделать? :(

    Ответить

  7. Игорь Квентор 17.11.2008

    Ник, пришлите мне в мыло вашу страницу вместе с файлом CSS. Так я смогу вам что-то подсказать.

    Ответить

  8. Александр 17.12.2008

    Отличный блог! Все доступно и понятно. 5 баллов и в избранное.
    Да, еще! В 9-ом уроке обещалось рассказать о менюшке как у парасенгов, но продолженя не нащел. Подскажите,плс, где искать…
    С ув. Александр.

    Ответить

  9. Александр 17.12.2008

    Ура! Нашел… http://ilev.blogspot.com/2007/07/css.html
    Еще раз спасибо!

    Ответить

  10. Игорь Квентор 18.12.2008

    :) Здесь тоже есть этот урок
    http://www.websovet.com/rollover-menyu-na-css

    Ответить

  11. N/A 06.03.2009

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

    Ответить

  12. Игорь Квентор 06.03.2009

    Вэлкам, N/A :)

    Ответить

  13. Sunliker 26.04.2009

    Спасибо за мастер класс))

    Подскажите пожалуйста, как сделать эти милые вертикальные черточки в футере между ссылками меню?

    Что это за символ?

    Ответить

  14. Игорь Квентор 26.04.2009

    Sunliker, этот знак находится на клавиатуре правее знака + в английской раскладке. Правда на клаве он выглядит как два вертикальных штриха.

    Ответить

  15. Алексей 19.05.2009

    Здраствуйте Игорь. С огромным интересом прошёл ваши уроки, но у меня появились некоторые нестыковочки. Чтот не получилось немного. Может где то тоятся ошибки. Поэтому я и хотел вас попросить выслать мне на e-mail profili2009@ya.ru два фаиликак style.css и index.html в готовом варианте. Буду очень благодарен, хочу найти свои ошибки. С уважением Алексей.

    Ответить

  16. Игорь Квентор 19.05.2009

    Алексей, так это просто: кликаете по ссылке в статье (готовый Рэзультат), потом сохраняете как “HTML-файл с изображениями” (это если Оперой, в ИЕ почти так же) и будут вам и оба файла, и картинки все :)

    Ответить

  17. Дмитрий 26.06.2009

    Спасибо, неплохая статья. Опыт веб-дизайна был, но, пока читал, отметил для себя несколько особенностей HTML и CSS. Хотел бы предложить несколько поправок, исключительно из любви к точности.

    1. Спецификация CSS2 даёт следующий формат набора правил (ruleset):

    selector? ‘{’ S* declaration? [ ‘;’ S* declaration? ]* ‘}’ S*;

    Т.е. точка с запятой используется не как терминатор, а как разделитель, поэтому после последней пары свойство-значение её использование как минимум необязательно, а вообще - не соответствует приведённому выражению.

    2. Селектор * обозначает не “всю страницу разом”, а все элементы, которые могут встретиться на странице. Различие, IMHO, существенное, поскольку правила, применённые к странице могут быть переопределены в дочерних элементах. На практике это разночтение мало на что влияет, но мне кажется, следовало бы подчеркнуть, что * - это не эквивалент body или (упаси господь! :)) html.

    3. На протяжении всего мини-курса очень резало глаз следующее. Например, имеется [div id=”text”] (квадратные скобки - чтобы не порезало). В пояснении это называется “Тэг div с атрибутом text”. Дело в том, что спецификация HTML даёт вполне однозначное определение слова “атрибут” и этому определению соответствует “id”, а “text” является его значением.

    Это, опять же, не создаёт особых проблем при создании сайта, но, к сожалению, может помешать тем, кто будет учиться по Вашим урокам, в общении с другими разработчиками: как правило, к некорректному употреблению основных терминов специалисты оказываются чутки. По той же причине к числу хороших книг по Delphi, например, не причисляют книги Фленова или Архангельского: они являются неплохими учебниками, но идеологически не совсем верны, что создаёт затруднения при переходе от состояния начинающего к состоянию специалиста.

    =====

    В остальном - ещё раз огромное спасибо, было приятно читать.

    Ответить

  18. Ant 13.07.2009

    Спасибо большое! Оччень полезная статья получилась. Сделал всё как написано, работает сразу!

    Ответить

  19. Игорь Квентор 13.07.2009

    Ant, вэлкам! :)

    Ответить

  20. Александр 06.08.2009

    Я очень долго искал где же можно прочитать и чтобы понятно было про “дивную” верстку. И только на этом сайте нашел. Огромное человеческое СПАСИБО!!!

    Ответить

  21. Игорь Квентор 07.08.2009

    Спасибо, Александр, за добрый отзыв!

    Ответить

  22. Игорь 24.08.2009

    На сколько я понял подвал ни к чему не привязан (хотелось бы к низу.) и при отсутствии текстов лепиться куда не попадя. Также подвал не имеет фиксированного размера, и уменьшается под тот размер куда прилипает, что можно было бы сделать?

    Ответить

  23. Игорь 24.08.2009

    Можно ли вставить этот тэг в самом низу выше закрывающегося тэга body?

    Ответить

  24. Игорь Квентор 25.08.2009

    Подвал в любом случае будет внизу, так как перед ним мы добавили блок очистки:

    <div class=”clearfloat”></div>

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

    margin: 0 auto;

    Также можно задать и фиксированную высоту. Для этого достаточно в набор правил для футера добавить:

    height: 50px;

    Ответить

  25. Влад 22.09.2009

    Автору Р Е С П Е К Т И У В А Ж У Х А!!!!Супер урок!

    Ответить

  26. Игорь 03.10.2009

    Классный учебник.
    Респект и благодарность автору)))
    Теперь хотелось бы расширить свои знания и научиться делать сайты на php.
    Кто бы мог подсказать хороший учебник для начинающих, с примерами построения сайта как в этом учебнике…

    Ответить

  27. Игорь 13.10.2009

    А где можно поучиться созданию форм.
    Так же с помощью css и divov?

    Ответить

  28. Gero 25.10.2009

    Нет слов…! Прекрасное изложение - легко, доступно и с юмором!
    Спасибо огромное! Получил огромное удовольсвие и дополнительные знания!
    Наилучшие пожелания, и успехов!

    P.S. Относительно всей книги “Блочная верстка веб-сайта”.

    Ответить

  29. Nook 02.12.2009

    Большое спасибо за статью, как раз то что искал!

    Ответить

  30. ipenrovich 15.12.2009

    обещали обьяснить как делать две колонки но так и не обьяснили
    спасибо

    Ответить

  31. Игорь Квентор 15.12.2009

    ipenrovich, а это:

    http://www.websovet.com/sozdanie-2-x-kolonochnogo-shablona-dlya-vordpress-chast-1-risuem-maket

    ?

    Ответить

  32. Ветд 09.01.2010

    Классная стать. Но вот один вопрос как организовать как типа на фреймах. Тоесть шапка навигация и подвал у нас статичны все находится на 1 странице и не меняется а вот в div text при нажатии на ссылку грузится уже готовая страница. Я сделал через iframe но чета не оч удобно. можно ли как нибудь по другому реализовать изменеие содержания дива. Как вы это ремлизовали на своем сайте при клике на ссылку. Или у каждой страницы есть шапка и тд и тп и оно все целиком грузится???
    336644086
    vitalikse@gmail.com
    я на связи

    Ответить

  33. Игорь Квентор 10.01.2010

    Для этого не обязательно использовать фреймы, от которых уже давно все отказались. Для этого существует обычный PHP. Шаблоны Вордпресс, к примеру, раз собраны на этом принципе: шапка, сайдбары и подвал единственны в своем роде и подключаются ко всем страницам сразу.

    Ответить

  34. Олег 13.01.2010

    Урок суперский. Был сайт на табличной верстке.
    На днях собираюсь делать блочную! И обязателно буду обращатся к уроку.
    Доходчиво, понятно все написано. И для новичка подойдет.
    Спасибо Вам!!! :)

    Ответить

  35. Игорь Квентор 14.01.2010

    И вам спасибо на добром слове! :)

    Ответить

  36. Павел 15.01.2010

    Огромное спасибо за статью. Оказалась очень полезной. Но вот почему то Opera 10.01 вообще не открывает страницу. Почему такое происходит?

    Ответить

  37. Игорь Квентор 15.01.2010

    Наверное, глюк в самой Опере. Поробуйте переустановить.

    Ответить

  38. Лев 20.01.2010

    Здравствуйте товарищи,объясните мне старому юзеру как шапку на сайте сделать на всю ширину?

    Ответить

  39. Игорь Квентор 20.01.2010

    Лев, вы имеете в виду свой форум?

    Ответить

  40. Roach 21.01.2010

    Спасибо большое за уроки )
    Прочитал уроки w3schools, заполировал вашим творением и вуаля - таблицы больше мне не кажутся такими хорошими и годными ))

    P.S. отдельное спасибо за Strict
    P.P.S. отсутствие ul в footer’е смутило

    Ответить

  41. Игорь Квентор 22.01.2010

    Roach, вэлкам!

    Ответить

  42. олег 07.04.2010

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

    Ответить

  43. Роман 07.04.2010

    Здравствуйте Игорь. Ваша статья оказалась очень полезной для меня как для новичка.Изложено всё достаточно чётко.Но к сожалению у меня возникли вопросы.Скажите пожалуйста как мне изменить Размер шрифта горизонтального блока ссылок и как увеличить количество этих ссылок,я пробовал увеличить но увы они выстраиваются в список.А ещё лучше бы было бы создать там выпадающее меню,посоветуйте какой нибудь полезный материал.
    За ранее огромное спасибо.
    с уважением роман

    Ответить

  44. Игорь Квентор 12.04.2010

    Здравствуйте, Роман! Могу лишь посоветовать обзавестить хорошей книгой по HTML. Или юзать Гугль, ибо материалов на данную тему в сети хоть отбавляй.

    Ответить

  45. Игорь 12.04.2010

    Роман.
    Изменения размера в css, а что-бы увеличить количество ссылок,
    расширьте контейнер предназначенный для них.

    Игорь Квентор, не могли бы вы разделить место под комментарии на несколько страниц.

    Ответить

  46. Игорь Квентор 12.04.2010

    Здравствуйте, тезка. Не вижу в этом особого смысла. Если бы под каждым постом было достаточно много комментариев, то оно было бы логично. А так - лишний плагин, лишние дублирующие страницы. Зачем?

    Ответить

  47. Игорь 12.04.2010

    Ради удобства, а то страница стала очень длинной…
    Но решать конечно вам.

    Ответить

  48. Павел 24.06.2010

    Ну вот наконец-то свершилось, без спец компутерных знаний, на интуиции и желании сделать сайт, и ТОЛЬКО БЛАГОДАРЯ книге Игоря Квентора, я сделал ЭТО. Просто и удобно, доступно даже для контуженых танкистов. Гениально преподнес автор материал. Спасибо.

    Ответить

  49. Игорь Квентор 24.06.2010

    Спасибо, Павел, на добром слове!

    Ответить

  50. Роман 28.06.2010

    Огромное спасибо!
    Прочитал каждое слово и делал как написано.
    Теперь буду глядя на проделанное пытаться научиться правильно верстать с ами.

    Еще раз Спасибо!

    Ответить

  51. Настя 27.07.2010

    Спасибо большое! Только после прочтения данной статьи чуток прояснился вопрос с “дивной” версткой :)

    Ответить

  52. Иван 17.09.2010

    Сверстал страничку по вашим урокам и всё было хорошо и красиво, пока не загрузил её на широкоформатном мониторе с разрешением 1920*1080. Самое странное что в IE8 всё отлично, а вот в опере 10.62 все блоки разъехались. Похоже, что всё дело в размерах шрифта или самом шрифте. Видимо для таких случаев стоит прописывать конкретные значения кегля, а не масштабные? На днях поэкспериментирую.

    Ответить

  53. Елена 26.10.2010

    Игорь, добрый день, помоги пд разобраться в чем проблема. IE не отображает корректно шапку сайта… только на первой странице, остальные открываются как и задумано темой, строго по заданным параметрам, в Опере этой проблемы нет.
    Пожалуйста, гляньте из-за чего этого происходит…

    было начинала думать что я “гений” =)))

    Ответить

    Игорь Квентор

    @Елена, здравствуйте! Сложно сказать. Нужно перелопатить весь шаблон. Проверяйте файлы шаблона на ошибки. К примеру, у вас в конце страницы лишний закрывающий див для блока с селектором #main. Скорее всего, пропустили где-то открытие этого дива.

    Ответить

  54. Дмитрий.К 15.11.2010

    Игорь, а где CSS «Средний уровень» — вариант
    для продвинутых верстальщиков?

    Я бы с удовольствием изучил, даже за деньги (при разумной цене).

    Или продолжением оказалась книга “Создание 3-х колоночного шаблона для Вордпресс (Wordpress)”?

    Ответить

    Игорь Квентор

    @Дмитрий.К, хороший вопрос! :) Как раз сейчас занялся продолжением написания следующей книги, которая будет называться “Профессия вебмастер”. Это расширенный курс, куда войдут материалы как для начинающих, так и для продвинутых вебмастеров. В частности, будут более подробно раскрыты тема Wordpress и jQuery. Ориентировочная стоимость 20$. Возможно это будет не только e-book, но и диск с полезными программами и наборами шрифтов, кистей и прочих вебмастерских инструментов.

    Ответить

    Виктор

    @Игорь Квентор, ждем с нетерпением. Только что закончил изучение двух бесплатных книг. Все доходчиво и понятно. Спасибо.
    20$ за хороший курс не жалко.

    Ответить

    Игорь Квентор

    @Виктор, окей! Уже треть книги готова :)

    Ответить

  55. Azerus 28.01.2011

    Доброго времени суток.
    У меня возник вопрос по поводу правильного отображения сего кода. Сам html код и css я полностью взял с этих уроков. Но проблема в том. что отображается оно верно лишь в IE.8. В других браузерах списки с новыми пользователями выстроились в столбец. Сработало лишь, когда убрал поплавок у второго списка. Может все-таки есть другой способ решить это, не удаляя поплавок?
    И еще вопрос, где можно скачать вашу книгу? 

    Ответить

    Игорь Квентор

    @Azerus, не знаю что за поплавок такой. Если вы имеете в виду маркер, то его наличие или отсутствие никак не влияют на обтекание.
    Книгу можно купить. См. здесь: http://www.websovet.com/my-books

    Ответить

  56. Azerus 30.01.2011

    Под поплавком я имел ввиду float:)

    Ответить

  57. Аслан 23.03.2011

    СПАСИБО!!

    Ответить

  58. Евгений 26.07.2011

    Здравствуйте Игорь!
    Прежде всего спасибо за Ваш блок, очень интересно его читать.
    Первые шаги начал имено с этой Вашей статьи. Но немного оттошел от примера.
    У меня правая колонка получилась короче левой. А так как у меня фон body один, у text другой, а у news третий получилось не очень красиво:
    http://s08.radikal.ru/i181/1107/da/92151d8fbc34.jpg
    Подскажите как можно растянуть news до подвала?
    И плюс к этому как привязать футтер к низу страницы, чтоб он не подымался на середину экрана если контента мало?

    В сети я вычитал много вариантов, но пока реализовать не смог для себя =) Но это скорей не из-за плохих решений, а из-за того что мои умения пока на низком уровне.
    Подскажите какое решение для этих двух вопросов использовали бы вы для данной(которая у вас в примере) страничке?

    Заранее спасибо, за ответ.

    Ответить

Трэкбеки

Оставить комментарий