Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про CSS: css, variable

Как использовать CSS-переменные для синхронизации размеров и позиционирования?

Вопрос проверяет, умеешь ли ты использовать CSS-переменные как единый источник правды для размеров и позиционирования.

Короткий ответ

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

Длинный ответ

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

Определение

Определение: CSS-переменные (custom properties) — это значения, объявленные в CSS, которые можно переиспользовать и изменять динамически.

Базовый пример синхронизации

.card {
  --header-height: 48px;
}

.card__header {
  height: var(--header-height);
}

.card__content {
  margin-top: var(--header-height);
}
  1. Высота заголовка задаётся один раз

  2. Контент автоматически подстраивается

Позиционирование с теми же переменными

.tooltip {
  top: calc(100% + var(--gap));
}

.button {
  --gap: 8px;
}
  1. Размеры и позиции связаны логически

  2. Нет “магических чисел”

Интеграция с JS и React

CSS-переменные удобно менять из JS:

element.style.setProperty("--sidebar-width", "280px");

Это позволяет:

  1. Анимировать layout

  2. Реагировать на resize

  3. Избегать inline-стилей с дублированием логики

Где это особенно полезно

  1. Layout с фиксированными панелями

  2. Sticky-элементы

  3. Темизация и дизайн-токены

Вывод

CSS-переменные — мощный инструмент для синхронизации размеров и позиционирования: они делают layout согласованным, читаемым и легко поддерживаемым.

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • CSS

    CSS

Ключевые слова

#css

#variable

Подпишись на React Developer в телеграм