Когда дело доходит до таких функций, как пользовательские свойства CSS, я использую postcss-preset-env , чтобы распечатывать резервные определения для старых браузеров, таких как IE 11.
Так, например,если у меня есть:
:root {
--col-light: #fff;
}
body {
background-color: var(--col-light);
}
, результат будет:
:root {
--col-light: #fff;
}
body {
color: #fff; // the fallback value
color: var(--col-light);
}
Однако, когда я назначаю переменную CSS другой переменной CSS и использую в качестве значения свойства вторую.тогда функция отката не работает должным образом - она не передает значение первой переменной (#fff) через вторую переменную в свойство.Поэтому, если у меня есть это:
:root {
--col-light: #fff;
--main-background: var(--col-light);
}
body {
background-color: var(--main-background);
}
Вывод будет выглядеть примерно так:
:root {
--col-light: #fff;
--main-background: #fff; // a fallback value where it's not needed
--main-background: var(--col-light);
}
body {
color: var(--main-background);
}
В результате резервная функция станет бесполезной.
Итак, возникает вопрос: Есть ли способ, чтобы резервная функция работала так, как ожидалось?