CSS — каскадные таблицы стилей (Cascading Style Sheets) — это язык стилей, используемый для оформления веб-страниц. Он позволяет разделять содержимое страницы от ее представления, что облегчает работу с макетами и дизайном.
CSS состоит из набора правил, каждое из которых определяет, каким образом должен быть оформлен определенный элемент на веб-странице. Правила включают в себя выбор элементов с помощью селекторов и задание свойств для этих элементов. Давайте рассмотрим основные составляющие CSS — правила, селекторы и свойства.
Правила
CSS-правило состоит из селектора и блока свойств. Правило говорит браузеру, какие элементы веб-страницы оформлять, и определяет, как именно они должны быть оформлены. Каждое правило начинается с селектора, который выбирает элементы, и заканчивается блоком свойств, которые применяются к выбранным элементам.
Вот пример простого правила:
p {
color: blue;
font-size: 16px;
}
Здесь `p` — это селектор, который выбирает все абзацы на странице. Внутри блока свойств задаются стили для абзацев: синий цвет текста и размер шрифта 16 пикселей.
Селекторы
Селекторы позволяют выбирать один или несколько элементов на веб-странице, к которым будут применены определенные стили. Селекторы могут быть очень простыми или более сложными и позволяют выбирать элементы на основе их типа, классов, идентификаторов, атрибутов и даже их расположения на странице.

Примеры простых селекторов:
- `p` — выбирает все абзацы.
- `.header` — выбирает все элементы с классом «header».
- `#logo` — выбирает элемент с идентификатором «logo».
Примеры более сложных селекторов:
- `ul li` — выбирает все элементы списка `li`, которые являются потомками элемента `ul`.
- `input[type=»text»]` — выбирает все текстовые поля на странице.
Свойства
Свойства определяют оформление элементов, выбранных с помощью селекторов. Каждая свойство имеет значение, которое указывает, каким образом должен выглядеть элемент.
Примеры свойств:
- `color` — определяет цвет текста элемента.
- `font-size` — устанавливает размер шрифта.
- `background-color` — задает цвет фона элемента.
- `border` — определяет стиль, толщину и цвет границы элемента.
Вот пример использования свойств:
h1 {
color: red;
font-size: 24px;
background-color: yellow;
border: 1px solid black;
}
Это правило выбирает все заголовки h1 и устанавливает для них красный цвет текста, размер шрифта 24 пикселя, желтый фон и черную границу толщиной 1 пиксель.
Комбинаторы
Комбинаторы в CSS позволяют объединять селекторы и создавать более специфические правила. Вот некоторые примеры комбинаторов:
- `div p` — выбирает все элементы `p`, которые являются потомками элементов `div`.
- `.menu-item > a` — выбирает все элементы `a`, которые являются прямыми потомками элементов с классом `.menu-item`.
- `h2 + p` — выбирает все элементы `p`, которые идут непосредственно после элементов `h2`.
Использование комбинаторов позволяет более точно настраивать применение стилей к элементам на странице.
Псевдоклассы и псевдоэлементы
Псевдоклассы и псевдоэлементы позволяют выбирать элементы, которые находятся в определенных состояниях или имеют специфические части. Они указываются после основного селектора и обозначаются двоеточием.

Примеры псевдоклассов:
- `:hover` — применяет стили, когда курсор наводится на элемент.
- `:active` — применяет стили, когда элемент активен (нажатие на кнопку, например).
- `:focus` — применяет стили, когда элемент в фокусе (например, поле ввода, когда на него нажали).
Примеры псевдоэлементов:
- `::before` — добавляет контент перед содержимым выбранного элемента.
- `::after` — добавляет контент после содержимого выбранного элемента.
- `::first-line` — применяет стили к первой строке текста в элементе.
- `::first-letter` — применяет стили к первой букве текста в элементе.
Импорт CSS-файлов
Чтобы сделать код более структурированным и облегчить поддержку, CSS позволяет импортировать стили из других файлов. Это достигается с помощью команды `@import`, которую можно поместить в начало CSS-файла.
Таким образом, вы можете разбить стили на различные файлы, что упростит их редактирование и сократит объем каждого из них.
Каскадирование и приоритеты
CSS основан на принципе каскадирования, что означает, что стили могут быть определены в разных местах и источниках, и браузер определит, какой стиль применять, учитывая приоритеты. Каскадирование включает в себя:
- Приоритет селекторов: Браузер учитывает специфичность селекторов. Чем более специфичен селектор, тем выше его приоритет.
- Порядок стилей: Если два правила имеют одинаковую специфичность, то последнее правило применится к элементу.
- Важность стилей: Можно установить важность стиля, используя `!important`. Это делает стиль более приоритетным.
p {
color: red !important;
}
Важно использовать `!important` осторожно, чтобы избежать проблем с поддержкой кода в будущем.
Медиа-запросы
CSS позволяет адаптировать стили в зависимости от параметров устройства, таких как ширина экрана и разрешение. Медиа-запросы позволяют создавать отзывчивый дизайн, который будет хорошо выглядеть на разных устройствах, от мобильных телефонов до настольных компьютеров.

Пример медиа-запроса:
@media screen and (max-width: 768px) {
/* стили для устройств с шириной экрана до 768 пикселей */
body {
font-size: 14px;
}
}
В данном примере стили применятся к элементам страницы, когда ширина экрана не превышает 768 пикселей.
CSS — это мощный инструмент для стилизации веб-страниц, и эти основы помогут вам начать использовать его для создания красивых и функциональных дизайнов. Практика и опыт помогут вам улучшить свои навыки и стать опытным фронтенд-разработчиком.