Использование ресурсов изображений ClientBundle в CSS-URL - PullRequest
3 голосов
/ 25 февраля 2010

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

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

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

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

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

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

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 25 февраля 2010

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

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

0 голосов
/ 06 декабря 2011

В итоге я пропустил 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 / Я легко могу поместить файлы изображений / css в CDN, так как теги загрузки находятся на странице хоста и не страдают от ограничений одного источника. К вашему сведению: да, я знаю о компоновщике XS как о другом способе сделать это.

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

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

...