2010-02-25 55 views
3

我在GWT中構建了一個應用程序,並從我的圖形設計器獲取了一個皮膚,我使用UIBinder將它插入到應用程序中,並且它運行得非常漂亮。現在我想使用ClientBundle將所有圖像打包。在css網址中使用ClientBundle圖像資源

這些圖像的Mayne被用在css文件中,例如,

.nav {background:url(nav_bg.jpg)left top repeat-x;高度:27px;清除:兩者;}

在這個CSS之前,我已經定義了一個標籤以包含該包。

如何更改css條目以便它使用我的ClientBundle中的ImageResource?我想我可以爲所有的html標籤做內聯樣式,但這是可怕的分離和很多額外的工作。

我已經在uibinder文件的html部分(例如a)中成功使用了ImageResources,但是我看不到如何在css中執行此操作。我甚至在一個塊中插入了css,但我仍然沒有看到這樣做的正確方法。

有什麼建議嗎?

回答

2

ClientBundles現在也可以用來託管CssResources。 這些CssResources是具有一些額外功能的CSS文件。

GWT的文檔描述了您在ImageSprites部分需要的內容。

+0

真實但犧牲了IE6的支持。 另外我看不到如何指定css規則的「左上角」部分。只有repeat-x屬性似乎被支持。 – 2010-02-26 00:42:25

0

我最終忽略了GWT CSS和圖像捆綁。相反,我使用由設計/雕刻團隊製作的css spr圖像塊完成了我的雕刻。這具有這些優點。

1 /更少的CSS移植,因爲我可以直接將html插入到ui活頁夾中,並使用雕刻的css標籤,即不使用uibinder css。只要html結構匹配雕刻,那麼這比將所有css遷移到gwt css的工作少得多。

2 /它也允許我在應用更改時使用svn/diff - 使用gwt css/image spriting時這是不可能的。

3我可以輕鬆地將圖像/ css文件放在CDN上,因爲加載標籤位於主機頁面中,不會受到相同原點限制的影響。僅供參考:是的,我知道XS鏈接器是另一種方法。

當雕刻使用css進行定位時,它停止使用,我想使用LayoutPanels,但是這並不算太壞,只要我要求layout CSS與樣式css分開。

因此,最終我發現,從第三方開始設計/雕刻時,避免使用gwt css/images更容易,但使用傳統css spriting和縮小來重現同樣的好處要容易得多。我希望這可以幫助別人。