Рис. 1.3. Популярная структура скелета страницы сайта
В HTML для тега <div> </div> характерны только параметры выравнивания (align) в связи, с чем его принято использовать в CSS.
1.2. Основы CSS
1.2.1. Введение в CSS
CSS (Cascading Style Sheets) - это стандарт на основе текстового формата, определяющий представление данных в браузере.
Таблицы стилей строятся в соответствии с определенным порядком (синтаксисом), в противном случае они не могут нормально работать.
Синтаксис всех методов, используемых для применения стилей к документу HTML, практически одинаков. Таблицы стилей составляются из определенных частей. Эти части включают следующие элементы:
Указатель (Selector). Указатель является элементом, к которому будут применяться назначаемые вами атрибуты. Это может быть просто тег типа заголовка (H1) или абзаца (Р). Таблицы стилей позволяют использовать различные объекты, включая классы, которые будут кратко обсуждаться далее.
Свойство (Property). Свойство определяет указатель. Например, если в качестве указателя выбран абзац, вы можете включить свойства, определяющие этот указатель. В свойства входят такие элементы, как поля, шрифты и фоновые изображения. В таблицах стилей существует много свойств, которые можно использовать для того, чтобы определить указатель.
10
Значение (Value). Значения определяют свойства. Предположим, что у вас есть заголовок первого уровня H1(указатель) и вы включаете свойство type family (семейство шрифта). Шрифт, который на самом деле будет применен к указанному фрагменту, задается значением этого свойства.
Описание (Declaration). Свойства и значения объединяются, образуя описание.
Строка (Rule). Указатель и описание образуют строку
Например, для того, чтобы цвет фона Web-страницы сделать черным, необходимо объявить следующее правило форматирования:
body{background:black}
1.2.2. Связывание документа и таблицы стилей
Принято использовать четыре основных метода связывания документа
итаблицы стилей:
Связывание - позволяет использовать одну таблицу стилей для форматирования многих страниц HTML
Внедрение - позволяет задавать все правила таблицы стилей непосредственно в самом документе
Встраивание в теги документа - позволяет изменять форматирование конкретных элементов страницы
Импортирование - позволяет встраивать в документ таблицу стилей, расположенную на сервере
Связывание предполагает использование отдельного файла с информацией о стилях. Расположение описания стилей в отдельном файле имеет смысл в случае, если планируется применение этих стилей к больше, чем одному, количеству страниц. Для этого нужно создать обычный текстовый файл, описать с помощью языка CSS необходимые стили, разместить этот файл на Web-сервере, а в коде HTML-страниц, которые будут использовать стили из этого файла, нужно будет сделать ссылку на него. Делается это с помощью тега LINK, располагающегося внутри тега HEAD ваших страниц:
<LINK REL=STYLESHEET TYPE="text/css" HREF="URL">
Параметры REL=STYLESHEET TYPE="text/css" являются зарезервированными именами, требующимися для того, чтобы сообщить браузеру, что на этой страничке будет использоваться CSS.
Параметр – HREF= «URL» – указывает на файл, который содержит описания стилей. Этот параметр должен содержать либо относительный путь
11
к файлу – в случае, если он находится на том же сервере, что и документ, из которого к нему обращаются – или полный URL («http://...») в случае, если файл стилей находится на другом сервере.
Внедрение предполагает описание стилей располагается в коде HTMLстранички, внутри тега HEAD, в теге
<STYLE type="text/css">... </STYLE>
В этом случае вы можете использовать эти стили для элементов, располагающихся в пределах странички. Параметр type="text/css" является обязательным и служит для указания браузеру использовать CSS.
Встраивание в теги документа осуществляется с помощью описания стиля и располагается непосредственно внутри тега элемента, который вы описываете. Это делается с помощью параметра STYLE, используемого при применении CSS с большинством стандартных тегов HTML. Этот метод нежелателен, он приводит к потере одного из основных преимуществ CSS – возможности отделения информации от описания оформления информации. Впрочем, если необходимо описать лишь один элемент, этот вариант расположения описания стилей также вполне применим.
Импортирование предполагает использование внешних стилей с помощью свойства @import таблицы стилей:
@import: url(mystyles.css);
Его следует задавать в начале стилевого блока или связываемой таблицы стилей перед заданием остальных правил. Значение свойства @import является URL файла таблицы стилей.
1.2.3. Группирование
Правила каскадных таблиц состоят из селектора и определения. Для уменьшения размеров таблиц стилей можно группировать разные селекторы в виде списка элементов страницы HTML, разделённых запятыми, если для них задаётся одно правило. Например, следующие правила
H1 {font-family: Verdana}
H2 {font-family: Verdana}
можно сгруппировать и задать в виде одного правила со списком селекторов
H1, H2 {font-family: Verdana}
12
Аналогично группируются определения, только в списке они разделяются точками с запятой. Следующие правила форматирования заголовка первого уровня
H2 {font-weight: bold}
H2 {font-size: 14pt}
H2 {font-family: Verdana}
можно сгруппировать в виде одного правила, сгруппировав определения:
H2 (font-weight: bold; font-size: 14pt; font-family: Verdana;}
Некоторые свойства имеют собственный синтаксис группирования, связанный с заданием значений нескольких свойств в одном. Например, предыдущий пример при использовании свойства font запишется так:
H2 {font: bold 14pt Verdana}
При задании таблицы стилей можно свободно комбинировать все три правила группирования для уменьшения её размеров.
1.2.4. Наследование
В HTML некоторые элементы могут содержать другие. Как будет отображаться элемент, расположенный внутри другого элемента страницы, если для последнего задано правило форматирования, а для вложенного элемента нет? Например, пусть цвет шрифта абзаца определён как синий(P {color: blue}). Как будет отображаться выделенный элемент текста, задаваемый тэгом <em>, если для него не определено правило форматирования? В подобных случаях вложенный элемент наследует правила форматирования элемента-родителя. В нашем примере выделенный элемент будет также отображаться синим цветом. Другие свойства ведут себя аналогично свойству color, например font-family, fontsize.
Некоторые свойства не наследуются вложенными элементами от своих родителей, например свойство background, но по умолчанию вложенные элементы будут отображаться с фоном родительского элемента.
Наследование полезно при задании значений свойств, применяемых к документу по умолчанию. Для этого достаточно задать все свойства для элемента, порождающего все остальные элементы страницы HTML. Таким элементом является тело документа, определяемое тегом BODY:
13
BODY {color: black; font-family: "Times New Roman"; background: url (picture.gif) white;}
Приведенные правила задают форматирование документа по умолчанию: черным шрифтом гарнитуры Times New Roman с фоном, задаваемым графическим файлом picture.gif, или на белом фоне, если файл недоступен.
1.2.5. Классы
CSS реализует возможность присваивать стили не всем одинаковым элементам страницы, а избирательно – для этого используется параметр CLASS = "имя класса" или идентификатор ID=«имя элемента», приваживающиеся любому элементу страницы. Рассмотрим эти возможности подробнее.
Класс позволяет задать разные правила форматирования для одного элемента определённого типа или всех элементов документа. Имя класса указывается в селекторе правила после имени тега и отделяется от него точкой. Можно определить несколько правил форматирования для одного элемента и с помощью параметра CLASS соответствующего тега применять разные правила форматирования. Например, можно определить два класса для отображения заголовка первого уровня:
<STYLE TYPE="text/css"> <!--
H1.red {color: red;}
H1.blue (color:red; background-color: blue} -->
</STYLE>
В тексте документа ссылка на соответствующий класс задаётся в параметре CLASS:
<H1 CLASS="red">Красный шрифт</H1>
<H1 CLASS="blue">Красный шрифт на синем фоне</H1>
В приведённом примере классы задавались для разного отображения элементов одного типа. Если класс должен применяться ко всем элементам документа, то в селекторе задаётся имя класса с лидирующей точкой без указания конкретного элемента:
<STYLE TYPE="text/css"> <!--
.red {color: red; }
14