Gwt CSS资源-结合文字和运行时替换

Gwt CSS资源-结合文字和运行时替换,gwt,cssresource,Gwt,Cssresource,要启用使用浏览器特定规则的运行时蒙皮更改, 我需要结合两种CSS资源功能—运行时替换和文字 例如,要使用动态按钮渐变,我会这样做: button { background: literal("-moz-linear-gradient(top, lightBg 0%, darkBg 100%)"); background: literal("-webkit-linear-gradient(top, lightBg 0%, darkBg 100%)"); background:

要启用使用浏览器特定规则的运行时蒙皮更改, 我需要结合两种CSS资源功能—运行时替换和文字

例如,要使用动态按钮渐变,我会这样做:

button {
   background: literal("-moz-linear-gradient(top, lightBg 0%, darkBg 100%)"); 
   background: literal("-webkit-linear-gradient(top,  lightBg 0%, darkBg 100%)");
   background: literal("-o-linear-gradient(top, lightBg 0%, darkBg 100%)");
   background: literal("-ms-linear-gradient(top,  lightBg 0%, darkBg 100%)");
   background: linear-gradient(top,  lightBg 0%, darkBg 100%); 
}
其中lightBg和darkBg在运行时使用@eval进行评估

问题是GWT不解析文本字符串,所以它不计算这两个值。 看

可能吗?
谢谢。

我相信你可以将文字和常规css连接起来,看起来像

background: literal("-moz-linear-gradient(") top lightBg 0, darkBg 100 literal(")");

不确定是否需要最后一个文字。

有效!是的,最后一个字是需要的。下面是正确的版本(对FF进行了一些小的修改):
background:literal(“-moz linear gradient(”)top,lightBg 0%,darkBg 100%literal(”)奇怪,我可以发誓我第一次输入了那些百分号。。。很高兴你成功了!从gwt 2.5-rc1开始,不再需要使用“神奇文字”的这种变通方法。你可以像你在问题中做的那样简单地替换,这样就行了。下面是gwt团队正在使用的测试用例和一个渐变示例