3

我正在 GWT 中构建一个应用程序,并从我的图形设计师那里获得了一个皮肤,我使用 UIBinder 将它插入到应用程序中,它工作得很好。现在我想使用 ClientBundle 捆绑所有图像。

这些图像中的 Mayne 用于 css 文件,例如

.nav{background:url(nav_bg.jpg) 左上重复-x; 高度:27px;清除:两者;}

在这个 css 之前,我已经定义了一个标签来包含这个包。

如何更改 css 条目以便它使用我的 ClientBundle 中的 ImageResource?我想我可以为所有的 html 标签做内联样式,但这是可怕的分离和很多额外的工作。

我已经在 uibinder 文件的 html 部分(例如在 a 中)成功使用了 ImageResources,但我看不到如何在 css 中执行此操作。我什至在一个块中内联了 css,但我仍然没有看到正确的方法来做到这一点。

有什么建议么?

4

2 回答 2

2

ClientBundles 现在也可用于托管 CssResources。这些 CssResources 是具有一些额外功能的 CSS 文件。

GWT 的文档在有关ImageSprites的部分中描述了您需要的内容。

于 2010-02-25T07:55:12.550 回答
0

我最终完全跳过了 GWT css 和图像捆绑。相反,我使用设计/雕刻团队制作的 css sprited 图像块完成了雕刻。这有这些优点。

1/ 更少的 css 移植,因为我可以将 html 直接插入 ui binder 并使用 carve 中的 css 标签,即不使用 uibinder css。只要 html 结构与雕刻匹配,那么这比将所有 css 迁移到 gwt css 的工作要少得多。

2/ 它还允许我在应用更改时使用 svn/diff - 这在使用 gwt css/image spriting 时是不可能的。

3/ 我可以轻松地将图像/css 文件放在 CDN 上,因为加载标签位于主机页面中并且不受同源限制。仅供参考:是的,我知道 XS 链接器是另一种方法。

当雕刻使用 css 进行定位并且我想使用 LayoutPanels 时,它就不再有用了,但只要我要求布局 css 与样式 css 分开,这还不错。

所以最后我发现,当使用来自第三方的设计/雕刻时,避免使用 gwt css/images 更容易,但使用传统的 css spriting 和 minification 重现相同的好处。我希望这可以帮助别人。

于 2011-12-06T09:11:19.570 回答