Немного о CSS
Так что это такое - СSS? Cascading Style Sheets (Таблицы Каскадных Стилей) -
это язык, содержащий набор свойств для описания внешнего вида любых HTML
документов. С его помощью дизайнер имеет полный контроль над стилем и
расположением каждого элемента веб страницы, что проще и гораздо функциональнее
использования обычного набора HTML тегов. Приведу пример: Вам нужно создать
жирный красный подчеркнутый текст.
Пример HTML:
<font color="red"><strong><u> Какой-то текст </u></strong></font>
Выгядеть это будет так:
Какой-то текст
А если подобный стиль нужно использовать несколько раз? Хорошо если раз 5, а
если 10-20? Вот тут нам и поможет СSS. Существует три вида таблиц стилей:
Внутренние таблицы стилей, Глобальные таблицы стилей и Связанные таблицы
стилей. Внутренние таблицы стилей (Inline Style Sheets) при помощи специального
атрибута помещаются прямо в HTML теги. Глобальные (Global Style Sheets)
определяют стиль элементов во всем документе. Связанные (Linked Style Sheets)
могут быть использованы для нескольких документов сразу и хранятся во внешнем
файле. Подробнее обо всем этом написано ниже.
Структура и правила
Селекторы (Selectors):
Синтаксисис:
селектор {свойства}
Любой элемент HTML - это возможный CSS селектор. Свойства селектора определяют стиль элемента, для которого он определен.
ПРИМЕР:
H1 {color:red; size:20pt;}
Все элементы H1 в документе будут красного цвета, размером в 20 точек (pt, point).
Классовые селекторы (Class Selectors):
Синтаксис:
селектор.класс {cвойства}
CLASS - атрибут элемента в HTML, определяющий его класс. В CSS можно описать собственные стили для различных классов одних и тех же элементов.
ПРИМЕР:
H1.blue {color:blue; size:20pt;}
Все элементы H1 с атрибутом CLASS="blue" станут синими.
Классы могут так же быть описаны без явного привязывания их к определенным элементам.
Синтаксис:
.класс {свойства}
ПРИМЕР:
.green {color:green;}
В данном случае все элементы с атрибутом CLASS="green" станут зелеными.
ID селекторы (ID Selectors):
Cинтакс:
#id {свойства}
ID - индивидуально именованный стиль. C его помощью можно создавать
стилистические исключения cреди элементов одного класса.
Индификаторы используются в основном для придания одному или нескольким
элементам одного класса индивидуальных свойств. Скажем, Вы создали класс blue -
синий курсив. Но Вам понадобился жирный подчеркнутый текст синим курсивом.
Конечно, можно создать новый класс, но зачем? Проще описать ID. Например
"boldunderline". И все элементы класса blue с значением ID
"boldunderline" станут жирным подчеркнутым синим курсивом. Произойдет
как бы синтез свойств класса blue и идентификатора boldunderline.
ПРИМЕР:
<html>
<head>
<title> Пример CSS </title>
</head>
<style>
.blue {color:blue; font-style:italic}
#boldunderline {text-decoration:underline; font-weight:bold}
</style>
<body>
<p class="blue"> Здравствуйте, это моя домашняя страница. </p>
<p class="blue" id="boldunderline"> Пока еще в стадии разработки ... </p>
<p id="boldunderline">... Но скоро откроется </p>
</body>
</html>
Как видно из примера, атрибут ID может быть использован без указания класса (последний параграф примера. Тогда параграф будет обладать только свойствами ID
"boldunderline" (в примере - жирный, подчеркнутый текст).
Контекстуальные селекторы (Contextual Selectors):
Контекстные селекторы - это сочетания нескольких обыкновенных селекторов.
Стиль задается только элеметнам в заданной последовательности в зависимости от
каскадного порядка.
ПРИМЕР:
P EM {color:silver;}
В данном примере все элементы EM внутри элементов P будут иметь заданный стиль.
Придание нескольким элементам одинаковых свойств
Скажем Вам нужно придать нескольким элементам Вашей веб страницы одинаковых
свойств. В этом случае при определении селекторы перечисляутся через запятую
перед блоком свойств.
ПРИМЕР:
h1,h2,h3,p,strong {color:green; font-style:italic;}
Все элементы h1, h2, h3, p и strong будут зелеными.
Псевдоклассы и псевдоэлементы
Синтаксис:
селектор:псевдокласс { свойства }
селектор.класс:псевдокласс { свойства }
селектор:псевдоэлемент { свойства }
селектор.класс:псевдоэлемент { свойства }
Псевдоклассы и псевдоэлементы - это особые классы и элементы, присущие CSS и
автоматически определяемые поддерживеющими CSS браузерами. Псевдоклассы
различают разные типы одного элемента, создавая при определении собственные
стили для каждого из них. Псевдоэлементы являются частями других элементов,
задавая этим частям отличный от элемента вцелом стиль.
Список псевдоклассов и псевдоэлементов
Anchor Pseudo Classes - эти псевдоклассы элемента <a href="
">, обозначающего ссылку. Псевдоклассы этого элемента: (ссылка), active
(активная ссылка), visited (посещенный ранее URL), hover (псевдокласс,
возникающий при поднесении курсора к ссылке, не работает в Нетскейпе).
First Line Pseudo-element - first-line. Этот псевдоэлемент может быть
использован с block-level элементами (p, h1 и т.д.). Он изменяет стиль первой
строки этих элементов.
First Letter Pseudo-element - first-letter. Похож на first-line, но
влияет не на всю строку, а только на первый символ.
ПРИМЕР:
a:link,a:visited {color:blue}
a:active {color:red}
a:hover {text-decoration:none}
В данном примере все элементы Anchor (ссылки) будут синими. При нажатии (в активном
состоянии) поменяют цвет на красный. И при подведении курсора мышки исчезнет
подчеркивание.
Примечание : описания нескольких свойств для одного селектора,
контекстуального селектора, класса, индивидуально именованного стиля или группы
объедененных селекторов отделяются друг от друга точкой с запятой ";".
Внутренние Таблицы Стилей
Как уже говорилось, использование Внутренних стилей мало чем отличается от
использования обычных HTML тегов. Они задают стиль только одному элементу
документа при помощи атрибута STYLE в HTML теге.
ПРИМЕР HTML:
<font color="blue" size="3" face="Arial"> Вперед в будущее </font>
ПРИМЕР INLINE STYLE SHEET:
<font style="color:blue; font-size:12pt; font-family:Arial"> Вперед в будущее </font>
Как можно заметить, код Inline Style Sheet получился больше чем HTML.
Поэтому ISS следует использовать только если необходимо задать определенному
элементу свой индивидуальный стиль, существующий в классификации CSS и
нереализованный в HTML. Или же при необходимости абсолютно позиционировть
данный элемент.
Глобальные Таблицы Стилей
Глобальные стили задают вид элементов всего документа. Для этого
используется тег <STYLE type="text/css">. Он размещается в
заголовке документа.
ПРИМЕР:
<html>
<head> <title> Пример Глобальных Таблиц Стилей </title>
</head>
<STYLE type="text/css">
h1{color:red; font-style:italic; font-size:32px}
.blue{color:blue}
#bold{font-weight:bold}
</STYLE>
<body>
<h1> Этот заголовок написан крупным красным курсивом </h1>
Вот <font class="blue"> это </font> слово - синие, a <font id="bold"> это</font> - жирное.
</body>
</html>
В данном примере все элементы H1 будут написаны крупным красным курсивым,
все элементы с указанным классом BLUE будут синими , а все элементы с
идентификатором ID="Bold" станут жирными. Для простоты вместо
<STYLE type="text/css"> можно использовать просто тег
<STYLE>, что менее грамотно.
Связанные Таблицы Стилей
Связанные таблицы стилей используются для придания нескольким документам
одного стиля и xранятся в отдельном файле. Это очень привлекательно, когда
нужно выдержать сайт в одном стиле, не утруждая себя составлением таблиц для
каждого документа.
ПРИМЕР:
Файл styles.css
<STYLE type="text/css";>
body {background:black; font-size:9pt; color:red; font-family:Arial Black}
.base{color:blue; font-style:italic}
h1 {color:white}
#bold {font-weight:bold}
</STYLE>
В самих же HTML документах делается ссылка на этот файл при помощи тега <LINK>. Выглядит это так:
<LINK rel="STYLESHEET" TYPE="text/css" HREF="путь до файла">
ПРИМЕР:
Файл Index.html
<html>
<head>
<title> Просто еще один пример </title>
</head>
<LINK rel="stylesheet" type="text/css" href="styles.css">
<body>
Содержание Документа
</body>
</html>