了解创建ImageResource的Google / GWT示例:
interface MyResources extends ClientBundle {
@Source("image.png")
ImageResource image();
@Source("my.css");
CssResource css();
}
@sprite .myImage {
gwt-image: 'image';
}
我知道如何使用ImageResources并应用样式名称,但是..
在我的应用程序中,我有多个主题,使用css和延迟绑定应用于各种小部件。所以我已经定义了一个css规则('background'),我想使用.myImage类,但它没有做任何事情:
background {
background-attachment: fixed;
background-image: .myImage; //?? This is the question!
background-size: contain
}
在'background'css属性中使用.myImage类的语法是什么?看来我应该能够将.myImage类指定为background-image的参数。
编辑:进行了一些研究并找到了使用DataResource执行此操作的正确语法。
MyClientBundle extends ClientBundle {
//Background Image
@Source("resources/background.png")
DataResource backgroundImage();
}
(mypanel.css)
@url background backgroundImage;
.myPanel {
border-radius: 0px;
background-color:#ffffff;
opacity:0.6;
background-image: background;
}
答案 0 :(得分:0)
如果您将“myImage”作为样式名称添加到任何窗口小部件,它将设置这些窗口小部件的背景...
答案 1 :(得分:0)
在'background'css属性
中使用.myImage类的语法MyClientBundle extends ClientBundle {
//Background Image
@Source("resources/background.png")
DataResource backgroundImage();
}
(mypanel.css)
@url background backgroundImage;
.myPanel {
border-radius: 0px;
background-color:#ffffff;
opacity:0.6;
background-image: background;
}
答案 2 :(得分:0)
我认为正确的方法是在CSS类本身中定义@ImageOptions
,其余的都定义。
对我来说,以下代码
Theme.java
public interface Theme extends ClientBundle {
@ImageOptions(repeatStyle = RepeatStyle.None, preventInlining = true)
@Source("path/logo.png")
ImageResource logo();
@Source("theme.css")
ThemeCss css();
interface ThemeCss extends CssResource {
String logo();
}
}
theme.css
@sprite .logo {
gwt-image: "logo";
background-size: contain;
background-attachment: fixed;
}
产生以下输出:
.GLOMG3GI {
height: 344px;
width: 633px;
overflow: hidden;
background:url(data:image/png;base64,iV...=) -0px -0px no-repeat;
background-size: contain;
background-attachment: fixed;
}
您可以在gwt-image属性之后或使用ImageOptions覆盖所需的任何CSS属性。
答案 3 :(得分:-1)
您可以使用此myResources.css.myImage
之类的样式。我的意思是你想在UiBinder中使用这个样式,你可以使用styleName
属性来使用它。
在您申请班级.myPanel
的任何地方,您都可以应用styleName='myResources.css.myImage'
来应用背景图片。
如果你想在java中使用它(即没有UiBinder), 你可以像这样使用
MyResources myResources = GWT.create(MyResources.class);
widget.setStyleName("myResources.css.myImage");
此处widget是Widget的对象,您要将背景应用到该对象。
我建议您查看此Explanation,以便清楚了解。