Псевдоклассы

Псевдоклассы

Coursme
8 мин
13 янв. 2024

В дополнение к стандартным селекторам тегов, классов и идентификаторов, CSS3 предоставляет мощные инструменты для более точного выбора элементов с использованием псевдоклассов.

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

:root - Мощь Глобальных Стилей

:root в CSS используется для обращения к корневому элементу документа, чаще всего это <html>. Он полезен для создания глобальных переменных, таких как цвета и шрифты, которые могут быть использованы в стилях на всей странице. Это упрощает изменение стилей в одном месте и автоматически обновление на всей странице.

Пример:

<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <style>
       :root {
           --main-color: #3498db;
       }
       body {
           background-color: var(--main-color);
       }
   </style>
   <title>:root Example</title>
</head>
<body>
   <h1>Глобальные Стили с :root</h1>
   <p>Пример использования :root для установки глобального цвета фона.</p>
</body>
</html>

В этом примере мы используем :root для определения пользовательской переменной и применяем ее для установки цвета фона страницы.

:link, :visited, :hover, :active - Подчеркнем Стиль Ссылок

Эти четыре псевдокласса применяют стили к ссылкам в различных состояниях:

  • :link выбирает непосещенные ссылки.
  • :visited выбирает посещенные ссылки.
  • :hover выбирает ссылку, над которой находится курсор мыши.
  • :active выбирает ссылку в момент ее активации, например, при клике.

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

Пример:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        a:link { color: blue; text-decoration: none; }
        a:visited { color: pink; text-decoration: none; }
        a:hover { color: red; text-decoration: underline; }
        a:active { color: yellow; text-decoration: underline; }
    </style>
    <title>:link Example</title>
</head>
<body>
    <h1>Стилизация Ссылок</h1>
    <a href="#">Обычная ссылка</a>
</body>
</html>

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

:not - Исключаем и Выделяем

Псевдокласс :not применяется для выбора элементов, которые не соответствуют заданному селектору. Например, :not(.exclude) выберет все элементы, кроме тех, которые имеют класс "exclude". Это полезно, когда необходимо исключить определенные элементы из стилизации.

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        div:not(.exclude) { border: 2px solid green; }
    </style>
    <title>:not Example</title>
</head>
<body>
    <h1>Исключение и Выделение</h1>
    <div class="included">Этот элемент будет выделен</div>
    <div class="exclude">Этот элемент будет исключен</div>
    <div>Еще один выделенный элемент</div>
</body>
</html>

В этом примере используется div:not(.exclude), чтобы выделить границами только те элементы, которые не имеют класс "exclude". Это демонстрирует более четкую спецификацию и исключение конкретных элементов из стилизации.

:lang - Стиль для Каждого Языка

:lang позволяет стилизовать элементы на основе значения атрибута lang. Это особенно полезно для мультиязычных веб-сайтов. Например, :lang(ru) выберет элементы с атрибутом lang, у которых значение равно "ru" (русский), и применит к ним стили.

Пример:


<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        :lang(ru) { color: red; }
    </style>
    <title>:lang Example</title>
</head>
<body>
    <h1>Стиль для Разных Языков</h1>
    <p lang="ru">Этот текст будет красным</p>
    <p lang="en">This text will remain unchanged</p>
</body>
</html>

В этом примере мы используем :lang для изменения стиля текста в зависимости от языковой метки.

:empty - Оформление Пустых Элементов

:empty используется для выбора элементов, которые не содержат дочерних элементов, включая текст. Например, p:empty выберет все параграфы, не содержащие никакого содержимого, и применит к ним стили. Это может быть полезно для стилизации пустых контейнеров или определения определенных стилей для отсутствующего контента.

Пример:


<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        p:empty::before {
            content: "Этот абзац пуст";
            color: gray;
            font-style: italic;
        }
    </style>
    <title>:empty Example</title>
</head>
<body>
    <h1>Оформление Пустых Элементов</h1>
    <p></p>
    <p>Этот абзац не пустой и не будет изменен</p>
</body>
</html>

В данной переформулировке, мы используем p:empty::before для добавления контента и стилей для пустых абзацев, что создает информативное и стилизованное сообщение для пользователя, когда абзац не содержит текста.

Заключение

Псевдоклассы в CSS3 предоставляют мощные инструменты для точного и гибкого управления стилями веб-страницы. Их использование упрощает создание интерактивных и креативных дизайнов, делая веб-разработку более эффективной и удобной.

Назад
Следующий тест
Комментарии
Чтобы оставлять комментарии — надо авторизоваться
Комментариев еще нет
Будьте первым
Главная
Курсы
Блог
Меню