2011-10-05 101 views
3

我有一个GWT视图,并将图像作为DataResource放入视图中(将img src设置为等于base64图像路径而不是默认设置css背景的)像这样:覆盖元素样式,为GWT图像定义高度/宽度

Image img = new Image(ICONS.red().getUrl()); 
img.setStyleName("myImgStyle"); 
panel.add(img); 

我的图标资源包的样子:

@Source("red.png") 
DataResource red(); 

这产生由所产生的文档在下面的HTML(SRC截断):

<img src="<base64 encoded path>" class="myImgStyle" style="width: 16px; height: 16px;"> 

我的问题是与img标记中的内联样式。我在附加的CSS文件中为几个不同的@media部分声明了.myImgStyle的样式,因此我可以为不同的设备调整图像的大小。但是,img标签中的内联样式会覆盖CSS中定义的样式。我已经尝试在GWT源代码中设置styleName并设置样式主名称无济于事。如何在img标签中使用不带内联样式的img标签?

回答

3

您可以通过访问显式删除从Image高度和宽度的Style

img.getElement().getStyle().clearHeight(); 
img.getElement().getStyle().clearWidth();