Чтобы таблица стилей могла воздействовать на внешнее представление документа, браузер должен знать о ее существовании. Для этого ее необходимо связать с HTML-документом. Существует четыре способа связывания документа и таблицы стилей:

1. Связывание - позволяет использовать одну таблицу стилей для форматирования многих страниц HTML.

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

3. Импортирование - позволяет встраивать в документ таблицу стилей, расположенную на сервере.

4. Встраивание в тэги документа - позволяет изменять форматирование конкретных элементов страницы.

CSS позволяют назначить собственный стиль визуального представления любому тегу HTML, в том числе тегу <body>. Если стиль задан для тега <body>, он наследуется всеми элементами (абзацами, заголовками и т. д.), помещенными внутри этого тега-контейнера, в случае отсутствия собственных стилей для этих элементов. Таким образом, нет необходимости прописывать теги <font> и атрибуты color, size и т. п. для каждого абзаца на странице - достаточно задать стиль для тега <body>, и все абзацы на странице будут отображены в соответствии с этим стилем.

Пример. Необходимо, чтобы все абзацы отображались шрифтом Times New Roman размером 12 пунктов зеленого цвета. Для этого следует указать атрибут style тега <body>, присвоив ему соответствующее значение:

<body style="font-family: 'Times New Roman'; font-size: 12pt; color: green"> В примере используется встраивание стиля непосредственно в тег документа - так называемый inline-стиль. Этот способ связывания CSS с HTML-файлом рекомендуется в единичных случаях - если данный стиль планируется применить только к одному элементу только на одной странице сайта. Если же стиль должен быть применен к нескольким элементам на одной странице или к нескольким страницам сразу, рекомендуются другие способы связывания CSS и HTML.

Для применения одинакового форматирования к нескольким одинаковым элементам страницы необходимо создать в заголовке страницы (в любом месте между тегами <head> и </head>) внедренную таблицу стилей, в которой задаются требуемые правила оформления. Для этого создается тег-контейнер таблицы стилей, начинающийся открывающим тегом <style> и заканчивающийся закрывающим тегом </style>. Внутри этого тега-контейнера можно задать любое количество правил CSS, состоящих из селектора (названия тега HTML, к которому будет применяться правило) и его определения (непосредственно набора средств форматирования), заключенного в фигурные скобки.

Пример. Необходимо, чтобы все абзацы на странице выглядели, как в предыдущем примере, все заголовки первого уровня отображались шрифтом Arial синего цвета полужирного начертания размером 16 пунктов, а все заголовки второго уровня - шрифтом Helvetica размером 14 пунктов полужирного курсивного начертания желтого цвета.

<head>

<style>

<!--body {

font-family: 'Times New Roman'; font-size: 12pt; color: green;

}

h1 {

font-family: Arial; font-size: 16pt; color: blue; font-weight: bold;

}

h2 {

font-family: Helvetica; font-size: 14pt; color: yellow; font-weight: bold; font-style: italic;

}

-- >

</style>

</head> Этот способ связывания CSS и HTML называется внедрением. Его рекомендуется применять в тех случаях, когда необходимо задать какой-либо набор правил форматирования только для одной страницы сайта, а все остальные страницы должны выглядеть по-другому.

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

Связывание позволяет хранить таблицу стилей в отдельном файле и присоединять ее к документам с помощью тэга <link>, задаваемого в разделе <head>:

<link rel="stylesheet" type="text/css" href="mystyles.css"/> В этой строке указывается, что связываемый файл является таблицей стилей (rel="stylesheet"), формат этого файла - .cssl (type="text/css") и находится он в той же директории, что и файл html, либо имеет другой URL-адрес (href="mystyles.css").

Эта строка может быть указана в любом html-файле. Таким образом, единое оформление будет использовано для нескольких страниц.

При этом вся таблица стилей хранится в одном файле (расширение файла должно быть стандартным - .css).

Пример CSS-файла:

body {

font-family: 'Times New Roman'; font-size: 12pt; color: green;

}

h1 {

font-family: Arial; font-size: 16pt; color: blue; font-weight: bold;

}

h2 {

font-family: Helvetica; font-size: 14pt; color: yellow; font-weight: bold; font-style: italic;

}

Тэги <style> и </style> внутри файла таблицы стилей не используются - расширение .css явно указывает браузеру на то, что файл является таблицей стилей. Один такой файл может быть связан сразу с несколькими страницами (или импортирован сразу в несколько страниц).

Для импортирования файла таблицы стилей (в том числе с другого сервера) необходимо указать в заголовке HTML-файла между тегами <head> и </head> внутри тега-контейнера <style> следующую строку:

<head>

<style>

@import: url (my.css);

</style>

</head> Помимо адреса импортируемой таблицы стилей, в теге-контейнере <style> можно указать любые правила CSS, которые будут дополнять или корректировать правила, заданные в импортируемой таблице - внедренные правила.

Браузер расставляет приоритеты таблиц стилей следующим образом:

1. встроенные (inline-) стили (встроенные с помощью атрибута style непосредственно в теги документа) - наивысший приоритет. Будут применены браузером в любом случае, даже если возникает конфликт с внедренными или внешними стилями;

2. внедренные стили (перечисленные в теге-контейнере <style> в заголовке документа) - чуть меньший приоритет, будут применяться во всех случаях, кроме случаев возникновения конфликта с inline-стилями (при возникновении такого конфликта будут применены inline-стили);

3. импортированные стили (стили внешнего файла .css, связанные с документом с помощью свойства @import в теге-контейнере <style>) - будут применяться в тех случаях, когда отсутствуют аналогичные правила CSS среди встроенных и внедренных стилей;

4. связанные стили (стили, присоединенные к html-файлу посредством тега <link>) -наименьший приоритет, будут применены только после того, как браузер убедится в отсутствии аналогичных правил во всех остальных типах стилей.

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

hi {font-family: Arial) h2 {font-family: Arial) h3 {font-family: Arial)

можно сгруппировать и задать в виде одного правила со списком селекторов:

hi,h2,h3 {font-family: Arial)

Аналогично группируются определения, только в списке они разделяются точками с запятой (;). Следующие правила форматирования заголовка первого уровня:

hi {font-weight: bold) hi {font-size: 14pt) hi {font-family: Arial)

можно задать в виде одного правила, сгруппировав определения:

hi {font-weight: bold; font-size: i4pt; font-family: Arial)

Некоторые свойства имеют собственный синтаксис группирования, связанный с заданием значений нескольких свойств в одном. Например, предыдущий пример при использовании свойства font запишется так:

hi {font: bold i4pt Arial)

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

В HTML некоторые элементы могут содержать другие. Рассмотрим элемент, расположенный внутри другого элемента страницы, если для последнего задано правило форматирования, а для вложенного элемента нет.

Например, пусть цвет шрифта абзаца определен как синий (p {color:blue}). Рассмотрим выделенный элемент текста, задаваемый тэгом <em>, если для него не определено правило форматирования.

В подобных случаях вложенный элемент наследует правила форматирования элемента-родителя.

Наследование полезно при задании значений свойств, применяемых к документу по умолчанию. Для этого достаточно задать все свойства для элемента, порождающего все остальные элементы страницы HTML. Таким элементом является тело документа, определяемое тэгом <body>:

body {

color: black;

font-family: "Times New Roman"; background: url (texture.gif) white;

}

Правила каскадных таблиц стилей, в которых в качестве селектора используются тэги HTML, влияют на отображение всех элементов заданного типа в документе. Следующее правило отображает без подчеркивания все ссылки (тэг <a>) в документе:

<style type="text/css">

<!- a { text-decoration: none; }

-- >

</style> Если необходимо некоторые ссылки отобразить по-другому, то можно задать для них правило форматирования непосредственно в тэге, а можно применить параметр class, добавленный в HTML 4.0 в качестве стандарта для всех тэгов. Значением параметра class является ссылка на класс, задаваемый в таблице стилей.

Css | Введение в технологии создания Интернет-узлов | Class