我想说,在一个集中的位置,
@def mainColor = #f00;
然后,在我所有的其他 css 文件中,mainColor
无需重新定义即可引用。然后,当我在一个地方更改 mainColor 时,我的整个应用程序都会更改颜色。
到目前为止,我能想到的最好方法是@Source
为每个 CssResource 声明包含两个文件,并始终包含全局 def 文件。还有其他方法吗?
我想说,在一个集中的位置,
@def mainColor = #f00;
然后,在我所有的其他 css 文件中,mainColor
无需重新定义即可引用。然后,当我在一个地方更改 mainColor 时,我的整个应用程序都会更改颜色。
到目前为止,我能想到的最好方法是@Source
为每个 CssResource 声明包含两个文件,并始终包含全局 def 文件。还有其他方法吗?
据我所知,这是您唯一的选择:
样式.css
@def mainColor #f00;
*.ui.xml
<ui:style src="../../../styles/style.css">
.widget{ color: mainColor; }
</ui:style>
这样做的缺点是相对路径。每个 ui.xml 都需要不同的 src 路径。
或者,如果您不介意使用 Constants.java 文件(而不是 css),您可以使用@eval
<ui:style>
@eval mainColor com.myproject.client.Styles.INSTANCE.mainColor();
.widget{ color: mainColor; }
</ui:style>