На 17-м уроке мы разберем одну из ключевых тем в CSS, это селекторы. Они помогают нам «выбирать» элементы на веб-странице и применять к ним стили. В этом уроке мы изучим селекторы классов, ID, а также научимся группировать селекторы. Всё будет подробно, с примерами и задачами.
Зачем нужны селекторы?
Представьте, что вы художник, а HTML-страница ваше полотно. Чтобы раскрасить элементы (заголовки, абзацы, кнопки), нужно точно указать, к чему применять краски. Селекторы это ваши кисти. Они позволяют выбрать конкретные элементы и задать им стили: цвет, размер, шрифт и многое другое. Без селекторов CSS был бы бесполезен!
Селекторы классов (.)
Синтаксис: .имя-класса { свойства }
Классы это самый гибкий и часто используемый тип селекторов. Их особенность в том, что один класс можно применять к множеству элементов. Это удобно, когда нужно стилизовать несколько объектов одинаково.
Пример 1: Простое использование класса
<!-- HTML --> <p class="text-red">Этот текст будет красным.</p> <div class="text-red">И этот тоже!</div>
/* CSS */ .text-red { color: red; }
Оба элемента получат красный цвет текста, так как они используют класс .text-red
.
Пример 2: Множественные классы
Элемент может иметь несколько классов через пробел:
<p class="text-red large-font">Красный текст крупного размера.</p>
.text-red { color: red; } .large-font { font-size: 24px; }
Задача: Создайте два блока <div>
. Первому задайте класс box-blue
, второму box-green
. Напишите CSS-код, чтобы первый блок стал синим, а второй зеленым. Добавьте общим классом border
рамку толщиной 2px черного цвета.
Селекторы ID (#)
Синтаксис: #имя-id { свойства }
ID это уникальные идентификаторы. В отличие от классов, один ID может быть только у одного элемента на странице. Используйте их для стилизации уникальных элементов (например, шапки сайта или контактной формы).
Пример 1: Стилизация по ID
<button id="submit-button">Отправить</button>
#submit-button { background: blue; color: white; padding: 10px; }
- ID имеют более высокий приоритет, чем классы. Если к одному элементу применены и класс, и ID, стили ID перекроют класс.
- Не злоупотребляйте ID для стилей. Они предназначены для уникальных элементов и JavaScript-логики.
Задача: Создайте заголовок <h1>
с ID main-title
. Установите для него цвет #333
, размер шрифта 32px и подчеркивание.
Группировка селекторов
Если вам нужно применить одинаковые стили к разным элементам, классам или ID, не пишите отдельные правила, сгруппируйте их через запятую.
Синтаксис:
селектор1, селектор2, селектор3 { свойства }
Пример: Группировка классов и тегов
h2, .subtitle, #footer-text { font-family: Arial, sans-serif; line-height: 1.5; }
Все заголовки <h2>
, элементы с классом .subtitle
и элемент с ID #footer-text
получат указанные стили.
Задача: Напишите CSS-код, который сделает все элементы <a>
, класс .highlight
и ID special-paragraph
жирными (font-weight: 700).
Практика: Создаем мини-проект
Давайте закрепим знания, сверстав фрагмент страницы.
Шаг 1: HTML-структура
<!DOCTYPE html> <html> <head> <title>Практика: Селекторы</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1 id="header">Мой блог</h1> <div class="post"> <h2 class="post-title">Как я учил CSS</h2> <p class="post-text">Сегодня я изучил селекторы...</p> </div> <div class="post important-post"> <h2 class="post-title">Важное объявление</h2> <p class="post-text">Всем срочно прочитать!</p> </div> <button id="read-button">Прочитать всё</button> </body> </html>
Шаг 2: CSS (style.css)
/* Стили для всех постов */ .post { border: 1px solid #ccc; padding: 20px; margin-bottom: 15px; } /* Стили для важного поста */ .important-post { background: #fff3d4; } /* Заголовок блога */ #header { color: #2c3e50; text-align: center; } /* Группировка: кнопка и заголовки постов */ #read-button, .post-title { font-family: 'Arial', sans-serif; }
Итог:
- У всех элементов с классом
.post
есть рамка и отступы. - Важный пост подсвечен желтым фоном.
- Заголовок страницы центрирован и имеет темно-синий цвет.
- Кнопка и заголовки постов используют шрифт Arial.
Полный курс «HTML/CSS для начинающих» с пошаговыми уроками доступен здесь: https://max-gabov.ru/html-css-dlya-nachinaushih