实际上 App Maker 并没有去除 CSS 变量。问题的原因是 App Maker 为全局样式添加了前缀#app
,这会破坏您的初始变量设置。
/* Design time Global CSS */
:root {
--customColor: red;
}
.app-MyPage-MyPage {
background-color: var(--customColor);
}
/* Runtime time Global CSS */
#app :root {
--customColor: red;
}
#app .app-MyPage-MyPage {
background-color: var(--customColor);
}
有一种简单的方法可以欺骗 App Maker 以使变量起作用:
/* Design time Global CSS
NOTE: there is no :root in the beginning BUT
there is a whitespace OR new line */
{
--customColor: red;
}
.app-MyPage-MyPage {
background-color: var(--customColor);
}
/* Runtime time Global CSS */
#app {
--customColor: red;
}
#app .app-MyPage-MyPage {
background-color: var(--customColor);
}
它会起作用,但不能保证 App Maker 将来会关闭这扇门(或修复原始问题)。
我还会考虑将所有变量移动到 CSS 文件中并将其添加为外部 CSS 资源(我不确定编辑器是否会在设计时选择它)。
并且请务必随时向 App Maker 团队提交错误:https ://issuetracker.google.com/issues/new?component=192783&template=833410