Главной называется веб-страница, с которой обычно начинается просмотр сайта. Она открывается при наборе адреса сайта и в каком-то смысле является его «лицом». Именно с главной страницы начинается знакомство посетителей с сайтом, поэтому надо сразу передать тематику сайта и обеспечить быстрый доступ к содержанию.
На главной странице нашего учебного сайта представлено три блока — краткое описание сайта, предупреждение и ссылки на страницы с описанием методов. Во всех блоках используется текст, поэтому в первую очередь нужно задать его стилевое оформление. Гарнитуру шрифта, его размер и межстрочное расстояние (интерлиньяж) можно задать через универсальное свойство font.
body { font: 0.9em/1.2 Arial, Helvetica, sans-serif; }
Первое значение 0.9em означает размер шрифта, второе после слэша интерлиньяж, а после пробела следует набор шрифтов, которые следует использовать на странице. Если первый идущий шрифт Arial не будет найден в операционной системе, браузер начнёт искать шрифт Helvetica. Если и он не обнаружится, будет выбран любой другой рубленый шрифт, или как их ещё называют, без засечек.
В этом блоке используется два изображения: одно для головы, второе для заголовка текста (рис. 6.12).
Рис. 6.12. Блок с предупреждением
Само расположение элементов можно выполнить разными методами, к примеру, установить рисунок с головой как фоновый без повторения и сдвинуть текст вправо, либо сделать обтекание через float. Рассмотрим эти методы подробнее.
Для начала нам требуется создать код, к которому в дальнейшем прикладываются стили. Плавающие элементы всегда располагаем в начале, поэтому рисунок с головой вставляем первым, затем уже следует заголовок и текст (пример 6.18).
Пример 6.18. Блок с предупреждением
<section class="warning"> <img src="/images/head.png" class="voodoohead" alt="" width="49" height="92"> <header><h1><img src="images/warning-title.png" alt="Предупреждение" width="137" height="30"></h1></header> <p>Все перечисленные на сайте методы ловли льва являются теоретическими и базируются на вычислительных методах. Авторы не гарантируют вашей безопасности при их использовании и снимают с себя всякую ответственность за результат. Помните, лев это хищник и опасное животное!</p> </section>
В стилях для изображения головы ставится свойство float со значением left, а тексту заголовка и абзаца смещение левого края через margin-left. Для отмены обтекания к warning добавляется overflow со значением hidden.
section header { background: none; /* Убираем фон */ } .warning { overflow: hidden; /* Отменяем обтекание */ margin: 30px 0; /* Отступ сверху и снизу */ } .voodoohead { float: left; /* Обтекание справа */ } .warning H1, .warning P { margin: 0 0 0 70px; /* Отступы */ }
Код останется практически неизменным по сравнению с примером 6.18, только изображение головы следует убрать, поскольку оно добавляется через свойство background.
section header { background: none; /* Убираем фон */ } .warning { overflow: hidden; /* Отменяем обтекание */ margin: 30px 0; /* Отступ сверху и снизу */ background: url(images/head.png) no-repeat; min-height: 92px; /* Минимальная высота */ } .warning H2, .warning P { margin: 0 0 0 70px; /* Отступы */ }
Также следует добавить свойство min-height, чтобы при уменьшении высоты блока фоновая картинка не обрезалась. Значение равно высоте изображения head.png.
Каждый блок со ссылкой и её описанием обрамлён тегом <section>, сама ссылка располагается внутри тега <h1>, который в свою очередь находится внутри <header>. Такая логика может показаться странной — зачем нам <header>, когда на странице он уже есть, и к чему столько тегов <h1>? В HTML5 своя логика построения структуры документа, которая отличается от привычной схемы HTML4. В предыдущей версии HTML иерархия блоков строилась на основе тегов <h1>…<h6>. Соответственно, <h1> задавал заголовок страницы, <h2> и <h3> подзаголовки. Чтобы схема документа строилась правильно, на странице должен быть только один <h1>. Спецификация HTML5 устанавливает алгоритм генерации схемы документа, включающий в себя новые семантические теги. Этот алгоритм говорит, что теги <article> и <section> создают новый раздел. А в HTML5 каждый раздел может содержать собственный тег <h1>.
<section> <header><h1><a href="assumption.html">Допущения</a></h1></header> <p>Для упрощения расчетов некоторые реальные величины заменяются их приближенным аналогом, которые хотя и влияют на точность результата, находятся в пределах допустимой погрешности вычисления.</p> </section> <section> <header><h1><a href="simple-iteration.html">Метод простых итераций</a></h1></header> <p>Самый простой метод поиска льва основанный на переборе.</p> </section>
В стилях устанавливаем цвет ссылок через свойство color, цвет ссылок при наведении на них курсора мыши с помощью псевдокласса :hover и параметры заголовка <h1>.
a { color: #1b75bc; /* Цвет ссылок */ } a:hover { color: #d6562b; /* Цвет ссылок при наведении */ } a img { border: none; /* Прячем границу вокруг изображений-ссылок */ } section h1 { font-size: 1.5em; /* Размер текста */ font-weight: normal; /* Нормальное начертание */ margin-bottom: 0; /* Отступ снизу */ }
Теперь собираем вместе все наши разделы и получаем окончательный код главной страницы сайта (пример 6.19).
Пример 6.19. Главная страница
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Как поймать льва в пустыне?</title> <link rel="stylesheet" href="style/lion.css"> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> </head> <body> <header> <div class="header-bg"> <img src="images/header-title.png" alt="Как поймать льва в пустыне" width="456" height="166"> </div> </header> <div class="content-gradient"> <div class="content-bg"> <div class="content-white"> <p>Перед вами учебный сайт для демонстрации возможностей HTML и CSS по созданию своего ресурса и его публикации в Интернете. Поскольку любой сайт должен содержать полезную или интересную информацию, мы выбрали тему ловли льва в пустыне, которая будет, без всяких сомнений, полезна любому посетителю. Так, на всякий случай.</p> <section class="warning"> <header><h1><img src="images/warning-title.png" alt="Предупреждение" width="137" height="30"></h1></header> <p>Все перечисленные на сайте методы ловли льва являются теоретическими и базируются на вычислительных методах. Авторы не гарантируют вашей безопасности при их использовании и снимают с себя всякую ответственность за результат. Помните, лев это хищник и опасное животное!</p> </section> <section> <header><h1><a href="assumption.html">Допущения</a></h1></header> <p>Для упрощения расчетов некоторые реальные величины заменяются их приближенным аналогом, которые хотя и влияют на точность результата, находятся в пределах допустимой погрешности вычисления.</p> </section> </div> </div> </div> <footer> <img src="images/lion.png" alt="" width="130" height="80" class="lion"> <div class="footer-bg"> <div class="copyright"> <p><strong>Учебный сайт «Как поймать льва в пустыне»</strong></p> <p>© Влад Мержевич</p> </div> </div> </footer> </body> </html>
Код HTML завершён, но стилевой файл lion.css следует отредактировать с учётом новых тегов и указать, что теги <header>, <section>, <footer>, <aside>, <nav>, <article> являются блочными. Это необходимо для корректного применения к ним стилей в старых браузерах.
header, section, footer, aside, nav, article { display: block; /* Блочный элемент */ }
Сайт