Мне нужно иметь возможность использовать CSS-переменные, потому что мне нужен эффект наведения (background-color), чтобы его можно было настраивать в моем приложении VueJs.
Но моя таблица стилей CSS должна иметь значение по умолчанию, которое хранится во вложенной карте SCSS. (map-getter - это функция, которая возвращает значения из вложенных карт)
Я знаю, что мой код SCSS работает, потому что я получаю ожидаемый результат, когда я делаю это:
.theme--dark .AppNavTile:hover {
background-color: map-getter($theme-dark, AppNav, hover);
//returns background-color: rgba(255, 255, 255, 0.87); in my browser's console
}
Чтобы использовать переменные CSS, я могу изменить код следующим образом:
.theme--dark .AppNavTile:hover {
--hover-bg-color: red;
background-color: var(--hover-bg-color);
}
Работает нормально, у меня при наведении курсора на красный фон.
Затем я пытаюсь объединить оба:
.theme--dark .AppNavTile:hover {
--hover-bg-color: map-getter($theme-dark, AppNav, hover);
background-color: var(--hover-bg-color);
}
Согласно консоли браузера это возвращает следующее:
.theme--dark .AppNavTile:hover {
--hover-bg-color: map-getter($theme-dark, AppNav, hover);
background-color: var(--hover-bg-color);
}
Таким образом, кажется, что код SCSS остается некомпилированным в переменной CSS. Есть ли способ обойти это?
Спасибо!