Практический пример применения стилей

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

Практический пример применения стилей - student2.ru

Сразу условимся, что все файлы с изображениями будут находиться в папке images, размещенной в той же папке, что и веб-страницы сайта.
А CSS-стили будут вынесены в отдельный файл sp-style.css.

Прежде всего определим, что фоновое изображение sp-fon-1.jpg

Практический пример применения стилей - student2.ru

будет задано для всего документа, т.е. для элемента BODY; здесь же укажем, что текст документа будет черного цвета:

BODY { background-image: URL(images/sp-fon-1.jpg); color: black }

Выделим блоки, из которых будет сформирована структура сайта (цвет, которым написано название блока, совпадает с цветом рамки на рисунке):

· main — основной блок шириной 800 пикселов и размещенный по центру; все остальные блоки должны быть расположены внутри него.

· head — головная часть сайта шириной 100 %, реализована как таблица с невидимыми границами.

· punkt — пункты меню сайта.

· text — содержимое отдельных страниц сайта.

Практический пример применения стилей - student2.ru

Поскольку блоков для пунктов меню несколько, то для них создадим селектор по классу. Тогда как блоки main, head и text будут в единственном экземпляре, а значит для них применим селекторы по идентификатору.

Чтобы блок main разместился по центру окна браузера установим значения свойств margin-left и margin-right равными auto.

Для блока head укажем его ширину: 100 %.

Блоки punkt сделаем плавающими, прижатыми к левому краю;
их ширину зададим равной 24 % (чтобы они уместились в одну линию)
и установим размер отступов сверху и снизу по 10 пикселов.

Блок text тоже разместим по центру,
установим размер всех отступов в 1 em,
и зададим для него другой фоновый рисунок (sp-fon-2.jpg)

Практический пример применения стилей - student2.ru

Для этих блоков CSS-правила будут такими:

#main { width: 800px; margin-left: auto; margin-right: auto; }

#head { width: 100% }

.punkt { float: left; width: 24%;

padding-top:10px; padding-bottom:10px; }

#text { background-image: URL(images/sp-fon-2.jpg);

margin-left: auto; margin-right: auto;

padding: 1em; }

Создадим класс menu для описания свойств текста в пунктах меню (в том числе, в таблице — головной части сайта).
Эти свойства должны быть такими: размер шрифта — 12 пунктов, гарнитура — Comic Sans MS, шрифт полужирный.

.menu { font-size: 12pt; font-family: Comic Sans MS; font-weight: bold }

Сформируем «каркас» сайта без таблицы и текста страницы, но с пунктами меню и стрелками (файл arrow.gif):

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 4.0//RU">

<html>

<head>

<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=Windows-1251">

<link rel=stylesheet href="sp-style.css" type="text/css">

<title>Пример верстки сайта</title>

</head>

<body>

<div id="main">

<div id="head">

<i>Головная часть сайта</i>

</div> <!-- end head -->

<div class="punkt"><span class="menu"><img src="images/arrow.gif" width=24 height=18> За бугром</span></div>

<div class="punkt"><span class="menu"><img src="images/arrow.gif" width=24 height=18> Родные осины</span></div>

<div class="punkt"><span class="menu"><img src="images/arrow.gif" width=24 height=18> Тоска объявлений</span></div>

<div class="punkt"><span class="menu"><img src="images/arrow.gif" width=24 height=18> Пальцем в небо</span></div>

<div id="text" style="clear:left">

<i>Текст страницы</i>

</div> <!-- end text -->

<div class="punkt"><span class="menu"><img src="images/arrow.gif" width=24 height=18> За бугром</span></div>

<div class="punkt"><span class="menu"><img src="images/arrow.gif" width=24 height=18> Родные осины</span></div>

<div class="punkt"><span class="menu"><img src="images/arrow.gif" width=24 height=18> Тоска объявлений</span></div>

<div class="punkt"><span class="menu"><img src="images/arrow.gif" width=24 height=18> Пальцем в небо</span></div>

</div> <!-- end main -->

</body>

</html>

Демонстрация примера

В блоке <div id="text" style="clear:left"> мы добавили атрибут style= со значением clear:left чтобы текст страницы шел заведомо ниже пунктов меню.

Блоки <div class="punkt"> размещают пункты меню, а элементы <span class="menu"> — отображают пункты меню требуемыми свойствами шрифта.

Создадим таблицу внутри блока head, т.е. в головной части сайта.

Ширина этой таблицы равна 800 пикселов, отступ содержимого от границ ячеек — 5 пикселов.
Её структура (если рамку сделать видимой) должна быть такой:

Логотип Пункт меню
Пункт меню

К содержимому в ячейках таблицы с пунктами меню применим тот же класс menu, что и в плавающих блоках.

Ячейка с логотипом содержит 2 элемента:

· текст «Газета от сохи» отображаемый полужирным шрифтом размером 14 пунктов, гарнитурой Comic Sans MS

· gif-файл собственно с логотипом газеты (sp-logo.gif) шириной 475 пикселов и высотой 70 пикселов.
Практический пример применения стилей - student2.ru

Для текста «Газета от сохи» создадим класс menu-big и запишем CSS-правило:

.menu-big { font-weight: bold; font-size: 14pt; font-family: Comic Sans MS; }

А в html-документе заменим «заглушку» <i>Головная часть сайта</i> на таблицу:

<div id="head">

<table border=0 width=800 cellpadding=5>

<tr>

<td rowspan=2><div class="menu-big">Газета от сохи</div>

<img src="images/sp-logo.gif" width=475 height=70 alt="Сермяжная правда">

</td>

<td><span class="menu"><img src="images/arrow.gif" width=24 height=18> Толкователь</span></td>

</tr>

<tr>

<td><span class="menu"><img src="images/arrow.gif" width=24 height=18> Емеля</span></td>

</tr>

</table>

</div> <!-- end head -->

Демонстрация примера

Вот теперь перейдём к формированию стилей для текста страницы.

В содержательной части страницы присутствуют два вида заголовков:
Н3 — прижатый к правой стороне блока и отображаемый гарнитурой Comic Sans MS
и Н4 — размещаемый по центру.

А также абзацы, имеющие выравнивание по ширине.

Добавим соответствующие CSS-правила в файл sp-style.css:

H3 { font-family: Comic Sans MS; text-align: right }

H4 { text-align: center }

P { text-align: justify }

Кроме того, в тексте есть слово выделенное полужирным курсивом. Предположим, что такое выделение будет встречаться и на других страницах сайта. Чтобы каждый раз не использовать по две команды курсива и полужирного шрифта, добавим стиль полужирного шрифта в команду CITE(есть такая команда в языке HTML, используется для выделения цитат, как правило текст отображается просто курсивом).

CITE { font-weight: bold; }

В html-документе заменим «заглушку» <i>Текст страницы</i> на то, что там должно быть (правда, пока без картинки):

<h3>Толкователь</h3>

<h4>Толковый словарь Ожегова</h4>

<p>СЕРМЯЖНЫЙ

<p>1. см. сермяга.

<p>2. перен. Относящийся к бедному крестьянскому быту старой России. <i>Сермяжная Русь</i>.

<p><cite>Сермяжная правда</cite> (шутл.) — безыскусственная, идущая от самого существа чего-н.

<i>В его словах есть своя сермяжная правда</i>.

<h4>«НАУКА И ЖИЗНЬ»</h4>

<p>№ 10, 2000 год<br>

С. Редичев<br>

СЕРМЯЖНАЯ ПРАВДА </p>

<p>Что такое сермяга? ...

<p>Вот какой длинный и трудный путь был у сермяги. Оставалось сшить из этого материала нужные вещи.

Шили вручную, как правило, льняными нитками.

<br><i>Получил сермяжные портки, теперь носи и смены не проси</i>.

</div> <!-- end text -->

Демонстрация примера

И, наконец, последнее, что осталось — это создать плавающий блок, в котором будет размещена иллюстрация к тексту и подпись под ней.

Для этого применим селектор по классу foto (ведь иллюстраций на странице может быть несколько) со следующими свойствами:

· плавающий блок должен быть прижат к правой стороне,

· левое и нижнее поля равны по 15 пикселов (чтобы текст страницы не подступал вплотную к иллюстрации),

· текст подписи должен отображаться шрифтом размером 10 пунктов, гарнитурой Arial и прижат к правому краю.

.foto { float: right;

margin-left: 15px; margin-bottom: 15px;

font-size: 10pt; font-family: Arial; text-align: right }

В html-документе добавим блок <DIV> с атрибутом class="foto". Во втором атрибуте — style="width:357px" — явно укажем ширину блока, равную ширине картинки из файла serm.gif

Файл с таблицей стилей sp-style.css можно посмотреть здесь.

Итог всех трудов:

Практический пример применения стилей - student2.ru

Задание

Спецкурс
«Интернет-технологии»

Лабораторная работа № 3
Теория

Наши рекомендации