Использование ресурсов изображений ClientBundle в CSS-URL

Я создаю приложение в GWT и у меня есть обложка от моего графического дизайнера, которую я подключил к приложению с помощью UIBinder, и она прекрасно работает. Теперь я хочу связать все изображения с помощью ClientBundle.

Mayne из этих изображений используются в файле CSS, например

.nav{background:url(nav_bg.jpg) левый верхний повтор-x; высота:27px; ясно: то и другое;}

Перед этим CSS я определил тег для включения в комплект.

Как я могу изменить запись CSS, чтобы она использовала ImageResource из моего ClientBundle? Я думаю, что я могу сделать встроенные стили для всех тегов HTML, но это ужасное разделение и много дополнительной работы.

Я успешно использовал ImageResources в html-части файла uibinder (например, в a), но я не вижу, как это сделать в css. Я даже вставил CSS в блок, но я все еще не вижу правильный способ сделать это.

Какие-либо предложения?

2 ответа

ClientBundles теперь также могут использоваться для размещения CssResources. Эти CssResources являются файлами CSS с некоторыми дополнительными функциями.

Документы GWT описывают то, что вам нужно в разделе об ImageSprites.

В итоге я пропустил GWT css и пакет изображений. Вместо этого я сделал свою вырезку, используя блок изображения css sprited, созданный командой design/carve. Это имеет эти преимущества.

1 / Гораздо меньше портирования css, так как я могу подключить html напрямую в связыватель пользовательского интерфейса и использовать теги css из резьбы, т.е. не используя uibinder css. До тех пор, пока html-структура соответствует carve, это намного меньше, чем перенос всех CSS в gwt css.

2 / Это также позволяет мне использовать svn/diff при применении изменений - это было невозможно при использовании gwt css / image spriting.

3 / Я легко могу поместить файлы image/css в CDN, поскольку теги загрузки находятся на странице хоста и не страдают от ограничений одного источника. К вашему сведению: да, я знаю о компоновщике XS как о другом способе сделать это.

Он перестает быть полезным, когда carve использует css для позиционирования, и я хочу использовать LayoutPanels, но это не так уж и плохо, если я запрашиваю, чтобы макет css был отделен от стиля css.

Итак, в конце концов я обнаружил, что при работе с design/carve от стороннего разработчика гораздо проще избежать использования gwt css / images, но воспроизвести те же преимущества, используя традиционный спрайсинг css и минификацию. Я надеюсь, что это помогает кому-то.

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