Стилизация с помощью переменных

Стилизация с помощью переменных

Coursme
8 мин.
18 янв. 2024

В CSS можно использовать переменные, официально называемые кастомными свойствами, для определения и многократного использования значений в стилях.

Кастомные свойства начинаются с префикса --, например, --my-color, и могут быть присвоены различным свойствам, таким как цвет фона, цвет шрифта, высота шрифта и другие.

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

<!DOCTYPE html>
<html>
   <head>
       <meta charset="utf-8">
       <meta name="viewport" content="width=device-width" />
       <title>Переменные в CSS3</title>
       <style>
           :root {
               --text-color: #ff4757;
               --text-size: 20px;
           }
           div {
               height: 40px;
               font-family: Verdana;
           }
           #div1 {
               font-size: var(--text-size);
           }
           #div2 {
               color: var(--text-color);
           }
           #p1 {
               color: var(--text-color);
               font-size: var(--text-size);
           }
       </style>
   </head>
   <body>
       <div id="div1">Первый блок.</div>
       <div id="div2">Второй блок.</div>
       <div><p id="p1">Третий блок.</p></div>
   </body>
</html>

Здесь создаются кастомные свойства --text-color и --text-size, которые затем используются для определения цвета и размера текста в различных элементах. Подобный подход позволяет легко изменять стили, просто изменяя значения переменных.

Если необходимо, чтобы переменные применялись глобально, их можно определить для элемента :root. Например:

:root {
   --text-color: #ff4757;
   --text-size: 20px;
}

Также можно предусмотреть резервные значения для переменных, что обеспечит гибкость и избежит ошибок. Пример с резервными значениями:

<!DOCTYPE html>
<html>
   <head>
       <meta charset="utf-8">
       <meta name="viewport" content="width=device-width" />
       <title>Переменные в CSS3</title>
       <style>
           :root {
               --text-color: #ff4757;
               --text-size: 20px;
               --reserved-color: #5352ed;
           }
           div {
               height: 35px;
               font-family: Verdana;
           }
           #div1 {
               color: var(--text-color, var(--reserved-color));
           }
           #div2 {
               color: var(--text-color, var(--reserved-color, red));
           }
           #div3 {
               color: var(--text-color, #2ed573);
           }
       </style>
   </head>
   <body>
       <div id="div1">Первый блок.</div>
       <div id="div2">Второй блок.</div>
       <div id="div3">Третий блок.</div>
   </body>
</html>

Здесь используются резервные значения в функции var(), что обеспечивает более устойчивую работу стилей при возможных ошибках в определении переменных.

При использовании кастомных свойств в CSS, возможность определения переменных предоставляет значительное удобство и гибкость при стилизации веб-страниц. Давайте рассмотрим дополнительные аспекты использования переменных в контексте стилей.

Наследование переменных

Переменные в CSS обладают способностью наследования, что позволяет им применяться ко всем дочерним элементам. Например, если переменные определены для элемента :root, они будут доступны всему документу и унаследуются дочерним элементам.

:root {
            --text-color: #ff4757;
            --text-size: 20px;
        }

        body {
            color: var(--text-color);
            font-size: var(--text-size);
        }

        h1 {
            /* Наследуется от :root */
        }
  • В этом примере также определены переменные в корневом селекторе.
  • Стили для <body> также устанавливают цвет текста и размер шрифта с использованием этих переменных.
  • Тег <h1> не имеет явного задания стилей, но он унаследует их от родительского <body>, благодаря наследованию переменных.

Глобальное использование переменных

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Пример с глобальным использованием переменных</title>
    <style>
        :root {
            --text-color: #ff4757;
            --text-size: 20px;
        }
    </style>
</head>
<body>
    <p style="color: var(--text-color); font-size: var(--text-size);">Текст с глобальными стилями.</p>
    <div>
        <p>Этот текст также наследует глобальные стили.</p>
    </div>
</body>
</html>
  • В этом примере переменные также определены в корневом селекторе.
  • Нет явного использования переменных в стилях, но любой текст внутри <body> будет наследовать эти глобальные стили.

Резервные значения

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Пример с глобальным использованием переменных</title>
    <style>
        :root {
            --text-color: #ff4757;
            --text-size: 20px;
        }
    </style>
</head>
<body>
    <p style="color: var(--text-color); font-size: var(--text-size);">Текст с глобальными стилями.</p>
    <div>
        <p>Этот текст также наследует глобальные стили.</p>
    </div>
</body>
</html>
  • В корневом селекторе определены переменные --text-color, --text-size и --reserved-color.
  • Элементу с идентификатором #element присваивается цвет текста с использованием переменной --text-color. В случае, если эта переменная не определена, будет использовано резервное значение из переменной --reserved-color.

Гибкость в изменении стилей

Используя кастомные свойства, легко менять внешний вид элементов. Например, чтобы изменить цвет текста, достаточно просто изменить значение переменной --text-color.

:root {
   --text-color: #ff4757;
}
#element {
   color: var(--text-color);
}
#element:hover {
   --text-color: #2ed573; /* Изменение цвета текста при наведении */
}

Применение переменных к разным свойствам

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

:root {
   --primary-color: #3498db;
}
#element {
   color: var(--primary-color);
   background-color: var(--primary-color);
   border: 2px solid var(--primary-color);
}

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

Заключение

Используя кастомные свойства, мы можем создавать адаптивные интерфейсы, легко менять темы, и динамически управлять стилями. Этот инструмент открывает новые возможности для эффективного проектирования и обслуживания веб-приложений.

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