Ресурс CSS - Объединение литерала и подстановки во время выполнения

Чтобы включить изменения скинов во время выполнения, использующие определенные браузером правила, мне нужно объединить две возможности 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 не анализирует буквальную строку, поэтому он не оценивает эти два значения. Смотрите здесь

Является ли это возможным? Благодарю.

1 ответ

Решение

Я считаю, что вы можете объединить литералы и обычные CSS, которые могут выглядеть примерно так

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

Не уверен, нужен ли этот последний литерал или нет.

Другие вопросы по тегам