foundation

Custom properties

Используйте CSS variables для runtime-темизации, наследуемых tokens, fallback и override на уровне компонента.

Custom properties (CSS variables) — живые значения в cascade и inheritance. Разрешаются на этапе computed value, в отличие от переменных препроцессора, исчезающих при сборке.

					:root {
  --space-md: 1rem;
  --button-bg: var(--color-accent, #2563eb);
}
.button {
  padding-inline: var(--space-md);
  background: var(--button-bg);
}
.button--danger {
  --button-bg: var(--color-danger);
}
				

Fallbacks в `var(--name, fallback)` повышают устойчивость. `@property` регистрирует типы, inheritance и возможность анимации.

На интервью: как variables дают runtime-темизацию и чем subtree override отличается от констант Sass.

Компромисс: гибкость custom properties в runtime против безопасности препроцессоров на этапе сборки.

Типовые ошибки: неопределённая variable ломает всё declaration; глобальные имена без semantic intent усложняют большие темы.

Чеклист:

  • Semantic имена variables.
  • Fallbacks в точках использования.
  • Override на компоненте или теме.
  • Runtime resolution vs препроцессоры.