2012-03-14 98 views
1

我想给阴影效果的GWT DialogueBox。我将以下样式应用于元素即过滤器使用GWT ResourceBundle CSS

popupPanel.setStylePrimaryName(“PopupPresenter”);

.PopupPresenter{ 
    height:550px; 
    width:700px; 
    border-style:solid; 
    border-width:2px; 
    border-color:red; 
    opacity:1.0; 
    background:white none repeat scroll 0 0; 
    -webkit-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.75); 
    -moz-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.75); 
    box-shadow:   4px 4px 10px rgba(0, 0, 0, 0.75); 
    /* For IE 8 */ 
    -ms-filter:literal("\"progid:DXImageTransform.Microsoft.Shadow(Strength \=55, Direction \=135, Color \='#736F6E'), 
     progid:DXImageTransform.Microsoft.Alpha(opacity \=100)\""); 
    /* For IE 5.5 - 7 */ 
    filter:literal("progid:DXImageTransform.Microsoft.Shadow(Strength \=55, Direction \=135, Color \='#736F6E') 
    progid:DXImageTransform.Microsoft.Alpha(opacity \=100)"); 

} 

除IE以外的所有浏览器都会从CSSResourcebundle中选取样式。

当我不从ResourceBundle注入它时,相同的CSS工作正常,但在删除文字后显式地在gwt.xml中添加。我没有正确使用gwt文字,还是没有正确使用IE过滤器?

帮助表示赞赏

感谢

+0

标准属性,比如'border-style:solid',被IE拾取吗?如果你删除了两个IE属性,它在IE中工作吗? – 2012-03-14 16:44:47

+0

是的标准属性被挑选出来。只有当我一起使用这两个过滤器时,它才会失败。 – Hulk 2012-03-15 13:26:48

回答

0

如果你删除所有的逃逸和逗号在-ms-filterShadow过滤器后,第二progid之前。

/* For IE 8 */ 
-ms-filter: literal("progid:DXImageTransform.Microsoft.Shadow(Strength =55, Direction =135, Color =#736F6E) progid:DXImageTransform.Microsoft.Alpha(opacity =100)"); 
/* For IE 5.5 - 7 */ 
filter: literal("progid:DXImageTransform.Microsoft.Shadow(Strength =55, Direction =135, Color =#736F6E) progid:DXImageTransform.Microsoft.Alpha(opacity =100)");