Каскадная таблица стилей состоит из CSS правил. Каждое CSS правило состоит из селектора и блока декларации.
CSS селекторы очень похожи на HTML теги. Селектор указывает на HTML элемент, для которого вы определяете визуальный стиль.
Блок декларации содержит одну или несколько деклараций свойств, разделенных точкой с запятой. Блок деклараций заключают в фигурные скобки.
Каждая декларация состоит из имени свойства и его значения, разделенных двоеточием.
Свойства – это ключевые слова, такие как color
, font-weight
или background-color
, которым присвоены определенные значения:
body {
font-size: 0.8em;
color: navy;
}
В данном примере создается CSS селектор body
, который соотносится с HTML тегом <body>. В этом селекторе определяется два свойства – font-size
и color
, которым присваиваются соответствующие значения. Таким образом, если этот стиль подключить к HTML документу, то текст внутри элемента <body> (что на самом деле весь контент в основном окне браузера) будет отображаться шрифтом размером 0.8em и темно-синим цветом.
Категории CSS селекторов
CSS селекторы можно разделить на пять категорий:
- Простые селекторы (элементы отбираются по имени, идентификатору или классу)
- Комбинированные селекторы (элементы отбираются по специфическим отношениям между ними)
- Селекторы псевдоклассов (элементы отбираются по определенному состоянию)
- Селекторы псевдоэлементов (отбирается и стилизуется часть элемента)
- Селекторы атрибутов (элементы отбираются по атрибутам или значениям атрибутов)
CSS селектор элемента
Селектор элемента или HTML селектор - это простой селектор, который отбирает HTML элементы по их имени.
В следующем примере отбираются все существующие на странице элементы <p>. Их текст будет красного цвета и выровнен по центру:
p {
text-align: center;
color: red;
}
В данном учебнике основное внимание будет уделяться так называемым HTML селекторам, т.е. обычным именам тегов, которые используются в качестве селекторов стилей для изменения внешнего представления соответствующих HTML элементов.
CSS селектор идентификатора
Селектор идентификатора для отбора заданного элемента использует атрибут id
HTML элемента.
Идентификатор элемента уникален в пределах веб-страницы, таким образом селектор идентификатора используется для выбора одного уникального элемента!
Чтобы определить селектор идентификатора, нужно написать символ решетки (#) и имя идентификатора элемента.
В следующем примере определяются стили для HTML элемента с идентификатором id="para1":
#para1 {
text-align: center;
color: red;
}
Внимание! Имя идентификатора не может начинаться с цифры!
CSS селектор класса
Селектор класса для отбора заданного элемента использует атрибут class
HTML элемента.
Чтобы определить селектор класса, нужно написать символ точки (.) и имя класса элемента.
В следующем примере все HTML элементы с классом class="center" будут отображать текст красного цвета, который выровнен по центру:
.center {
text-align: center;
color: red;
}
Так как один и тот же класс может присваиваться нескольким элементам, вы можете указать на какой именно HTML элемент должен влиять селектор класса.
В следующем примере только элементы <p> с классом class="center" будут отображать текст красного цвета, который выровнен по центру:
p.center {
text-align: center;
color: red;
}
Также, HTML элементы могут иметь больше одного класса.
В следующем примере элемент <p> будет принимать стили, соответствующие селекторам класса class="center" и class="large":
<style>
p.center {
text-align: center;
color: red;
}
p.large {
font-size: 300%;
}
</style>
<p class="center large">Этот параграф определен по двум классам.</p>
Внимание! Имя класса не может начинаться с цифры!
Универсальный селектор
Универсальный селектор (*) отбирает абсолютно все HTML элементы на странице.
Следующее CSS правило окажет воздействие на каждый HTML элемент на странице:
* {
text-align: center;
color: red;
}
Группирование селекторов
Группирование селекторов позволяет объединить одно и то же определение стиля для нескольких HTML элементов в одну декларацию.
Посмотрите на следующий код CSS (для элементов h1, h2 и p заданы одинаковые стили):
h1 {
text-align: center;
color: red;
}
h2 {
text-align: center;
color: red;
}
p {
text-align: center;
color: red;
}
Чтобы уменьшить количество кода, мы можем сгруппировать эти селекторы в одну декларацию.
Чтобы сгруппировать селекторы, нужно в головной части перечислить их через запятую.
В следующем примере мы группируем селекторы из предыдущего примера:
h1, h2, p {
text-align: center;
color: red;
}