Строки Concat в CssResource для создания URL - PullRequest
0 голосов
/ 25 сентября 2010

У меня есть немного CSS в ClientBundle, который использует фоновый URL. Поскольку я загружаю javascript (/MyModule/MyModule.nocache.js) из /index.html, мои относительные URL-адреса в CSS являются корневыми. Это значит

.myBackground { background: url("images/background.png"); }

попытается загрузить с /images/background.png. Это выглядит как идеальный случай для замены css во время выполнения . Я добавил следующую строку в начало моего CSS-файла:

@eval moduleName com.google.gwt.core.client.GWT.getModuleName();

Как теперь объединить переменную moduleName со строкой "images/background.png"?

Я ищу что-то вроде:

@eval moduleName com.google.gwt.core.client.GWT.getModuleName();
.myBackground { background: url(moduleName + "images/background.png"); }

К сожалению, этот подход вызывает некоторые ошибки в выводе во время компиляции:

Line 46 column 30: encountered " ". Was expecting one of: <NUMBER> <PERCENTAGE>
<PT> <MM> <CM> <PC> <IN> <PX> <EMS> <EXS> <DEG> <RAD> <GRAD> <MS> <SECOND> <HZ>
<KHZ> <DIMEN> <FUNCTION>

Примечание : я знаю, что есть CSS-спрайты, и я использую его в некоторых местах, но я не могу заставить их работать правильно в этом случае из-за дополнительной информации GWT о стиле спрайта CSS конфликтует с дополнительным стилем, который мне нужен.

Ответы [ 2 ]

1 голос
/ 04 февраля 2012

Вы всегда можете добавить где-нибудь статическую функцию:

public static String getBackgroundUrl(){
     return com.google.gwt.core.client.GWT.getModuleName() + "/images/background.png";
}

И в вашем CSS

@eval BG_URL com.yourclass.getBackgroundUrl();

.myBackground { background-url:BG_URL; }
0 голосов
/ 09 октября 2010

Я бы добавил это как комментарий, но мне не хватает репутации ...

Я не совсем уверен, что вы подразумеваете под "дополнительной информацией GWT о спрайте CSS, конфликтующем сдополнительные элементы стиля, которые мне нужны ", но если вы ссылаетесь на дополнительные свойства фона, которые нужно указать, пробовали ли вы разделить фон на составные части?Например, background-image, background-position, и т. Д. .Это недавно решило проблему со спрайтами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...