логотип PurpleSchool
Иконка входа
Вход
логотип PurpleSchool

Селектор по классу в CSS; Полное руководство с примерами

Автор

Дмитрий Нечаев

Селекторы по классу в CSS позволяют разработчикам выбрать элементы в HTML-документе с определённым классом и применить к ним стили. Это мощный и гибкий инструмент, который помогает точно управлять внешним видом веб-страницы. В этой статье мы подробно рассмотрим, как использовать селекторы по классу, их преимущества и приведем примеры для различных ситуаций.

Что такое селектор по классу?

Селектор по классу выбирает все элементы, у которых установлен определённый класс. Класс определяется в HTML с помощью атрибута class. В CSS селекторы по классу обозначаются точкой (.) перед именем класса.

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    .highlight {
      background-color: yellow; /* Устанавливает жёлтый фон для элементов с классом highlight */
    }
  </style>
  <title>Селектор по классу</title>
</head>
<body>
  <p class="highlight">Этот абзац будет выделен жёлтым фоном.</p>
  <p>Этот абзац останется без изменений.</p>
</body>
</html>

В этом примере все элементы с классом highlight будут иметь жёлтый фон.

Преимущества использования селекторов по классу

  • Гибкость: Можно применять один и тот же класс к различным элементам, создавая универсальные стили.
  • Лёгкость управления: Стили можно изменять в одном месте в CSS, что автоматически применится ко всем элементам с этим классом.
  • Многократное использование: Один класс можно использовать многократно в разных частях документа.

Селекторы по классу и их применение

Применение к разным элементам

Селектор по классу можно использовать для стилизации разных типов элементов. Например, можно применить класс highlight как к абзацам, так и к заголовкам.

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    .highlight {
      color: red; /* Устанавливает красный цвет текста для элементов с классом highlight */
    }
  </style>
  <title>Применение к разным элементам</title>
</head>
<body>
  <h1 class="highlight">Заголовок</h1>
  <p class="highlight">Абзац текста</p>
  <span class="highlight">Текст в спане</span>
</body>
</html>

Комбинирование с другими селекторами

Селекторы по классу можно комбинировать с другими селекторами для более точного управления стилями. Например, можно сочетать селектор по классу с селектором по тегу.

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    p.highlight {
      font-weight: bold; /* Устанавливает жирный шрифт для абзацев с классом highlight */
    }

    div.highlight {
      border: 1px solid black; /* Устанавливает границу для дивов с классом highlight */
    }
  </style>
  <title>Комбинирование селекторов</title>
</head>
<body>
  <p class="highlight">Абзац текста</p>
  <div class="highlight">Контейнер</div>
</body>
</html>

Множественные классы

Элемент может иметь несколько классов, что позволяет комбинировать стили из разных классов.

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    .text-large {
      font-size: 24px; /* Устанавливает крупный шрифт */
    }

    .text-blue {
      color: blue; /* Устанавливает синий цвет текста */
    }
  </style>
  <title>Множественные классы</title>
</head>
<body>
  <p class="text-large text-blue">Этот текст будет крупным и синим.</p>
</body>
</html>

Вложенные элементы

Селекторы по классу можно использовать для стилизации вложенных элементов.

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    .container {
      padding: 20px;
      background-color: lightgrey;
    }

    .container .highlight {
      color: red; /* Стилизация элементов с классом highlight внутри контейнера */
    }
  </style>
  <title>Вложенные элементы</title>
</head>
<body>
  <div class="container">
    <p class="highlight">Этот текст будет красным.</p>
    <p>Этот текст останется без изменений.</p>
  </div>
</body>
</html>

Псевдоклассы и псевдоэлементы

Селекторы по классу можно комбинировать с псевдоклассами и псевдоэлементами для создания сложных стилей.

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    .button {
      padding: 10px 20px;
      background-color: blue;
      color: white;
      text-decoration: none;
      display: inline-block;
    }

    .button:hover {
      background-color: darkblue; /* Изменение цвета фона при наведении */
    }

    .button::after {
      content: ' →'; /* Добавление стрелки после текста кнопки */
    }
  </style>
  <title>Псевдоклассы и псевдоэлементы</title>
</head>
<body>
  <a href="#" class="button">Кнопка</a>
</body>
</html>

Заключение

Селекторы по классу в CSS являются удобным и мощным инструментом для стилизации элементов HTML. Они позволяют легко управлять внешним видом элементов, обеспечивая гибкость и многократное использование стилей. Понимание того, как использовать селекторы по классу, комбинировать их с другими селекторами и применять их к различным элементам, помогает разработчикам создавать хорошо структурированные и поддерживаемые стили для веб-страниц. Экспериментируйте с различными комбинациями и находите оптимальные решения для ваших проектов.

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile