🎨 Что такое CSS?
CSS (Cascading Style Sheets) - это язык стилей, используемый для описания внешнего вида HTML-документов. С помощью CSS можно управлять цветом, шрифтом, расположением элементов и другими аспектами отображения веб-страницы.
🧱 Синтаксис CSS
CSS состоит из набора правил. Каждое правило состоит из селектора и блока объявлений.
- Селектор определяет, к какому HTML-элементу применяется правило.
- Блок объявлений содержит одно или несколько объявлений, разделенных точкой с запятой.
- Объявление состоит из имени свойства и его значения, разделенных двоеточием.
Пример:
|
|
В этом примере:
h1
- это селектор (применяется ко всем элементам<h1>
).color
иfont-size
- это свойства.blue
и24px
- это значения свойств.
🎯 Селекторы CSS
Селекторы используются для выбора HTML-элементов, к которым нужно применить стили.
Основные типы селекторов
-
Селектор элемента (тега): Выбирает все элементы указанного типа.
Пример:
1 2 3 4
/* Применяется ко всем параграфам */ p { font-family: Arial, sans-serif; }
-
Селектор класса: Выбирает все элементы с указанным классом. Класс задается атрибутом
class
в HTML.Пример:
1 2 3 4 5
/* Применяется к элементам с классом highlight */ .highlight { background-color: yellow; padding: 5px; }
1
<p class="highlight">Этот параграф будет выделен желтым цветом.</p>
-
Селектор идентификатора: Выбирает элемент с указанным идентификатором. Идентификатор задается атрибутом
id
в HTML.Пример:
1 2 3 4 5
/* Применяется к элементу с id main-title */ #main-title { font-size: 32px; margin-bottom: 20px; }
1
<h1 id="main-title">Заголовок страницы</h1>
-
Комбинаторы: Позволяют выбирать элементы на основе их отношений.
Примеры:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
/* Потомки: все параграфы внутри div */ div p { color: blue; } /* Дочерние элементы: параграфы, которые являются прямыми потомками div */ div > p { font-weight: bold; } /* Соседние элементы: параграф, который идет сразу после h2 */ h2 + p { margin-top: 0; }
-
Псевдоклассы и псевдоэлементы: Выбирают элементы в определенных состояниях или их части.
Примеры:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/* Ссылка при наведении */ a:hover { text-decoration: underline; } /* Нечетные строки таблицы */ tr:nth-child(odd) { background-color: #f2f2f2; } /* Первая буква параграфа */ p::first-letter { font-size: 200%; color: #8A2BE2; }
🔗 Способы подключения CSS к HTML
-
Встроенные стили (Inline styles): Стили записываются непосредственно в HTML-элементе с помощью атрибута
style
.Пример:
1
<p style="color: green;">Этот параграф будет зеленым.</p>
-
Внутренние стили (Internal styles): Стили записываются внутри тега
<style>
в разделе<head>
HTML-документа.Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<!DOCTYPE html> <html> <head> <title>Моя страница</title> <style> p { color: green; } </style> </head> <body> <p>Этот параграф будет зеленым.</p> </body> </html>
-
Внешние стили (External styles): Стили записываются в отдельном CSS-файле (с расширением
.css
) и подключаются к HTML-документу с помощью тега<link>
.Пример:
1 2 3 4 5 6 7 8 9 10
<!DOCTYPE html> <html> <head> <title>Моя страница</title> <link rel="stylesheet" href="styles.css"> </head> <body> <p>Этот параграф будет зеленым.</p> </body> </html>
В файле
styles.css
:1 2 3
p { color: green; }
📐 Современные возможности CSS
Flexbox
Flex-контейнер (Flexbox) — мощный инструмент для создания одномерных макетов (строки или столбцы).
|
|
CSS Grid
Grid — двумерная система макетов для более сложных структур страниц.
|
|
Переменные CSS
CSS-переменные (пользовательские свойства) позволяют повторно использовать значения.
|
|
Медиа-запросы
Медиа-запросы позволяют применять стили в зависимости от характеристик устройства.
|
|
🌈 Подходы к организации CSS
БЭМ (Блок, Элемент, Модификатор)
БЭМ — методология именования классов для создания поддерживаемого кода.
|
|
|
|
CSS-препроцессоры
Препроцессоры (SASS, LESS) расширяют возможности CSS:
|
|
🚀 Практическое задание
- Создайте HTML-страницу с базовой структурой.
- Подключите CSS одним из способов.
- Используйте разные селекторы для стилизации элементов.
- Создайте адаптивный макет с использованием Flexbox или Grid.
- Используйте CSS-переменные для основных цветов и размеров.
- Добавьте медиа-запрос для адаптации под мобильные устройства.
- Проверьте, как отображаются стили на разных устройствах.
🎯 Следующие шаги
В следующих статьях мы рассмотрим более сложные темы, такие как:
- Продвинутые техники анимации в CSS
- CSS фреймворки (Bootstrap, Tailwind CSS)
- CSS-in-JS подходы
- Оптимизация производительности CSS
Следите за обновлениями!