从GWT元素中删除内联样式属性
我继承了许多遗留的GWT代码,可以简明扼要地描述为“web开发人员最糟糕的噩梦”。开发人员使用了许多具有内联样式的元素,例如GWT DeckPanel 我想删除这些内联样式,以便可以应用外部样式表,但我似乎找不到任何方法。我知道可以通过以下方式设置内联样式:从GWT元素中删除内联样式属性,gwt,styling,Gwt,Styling,我继承了许多遗留的GWT代码,可以简明扼要地描述为“web开发人员最糟糕的噩梦”。开发人员使用了许多具有内联样式的元素,例如GWT DeckPanel 我想删除这些内联样式,以便可以应用外部样式表,但我似乎找不到任何方法。我知道可以通过以下方式设置内联样式:DOM.setStyleAttribute(container1,“height”,“100%”)或类似,但似乎没有任何对应的removeStyleAttribute。有一个DOM.removeElementAttribute,但这不适用于样
DOM.setStyleAttribute(container1,“height”,“100%”)
或类似,但似乎没有任何对应的removeStyleAttribute
。有一个DOM.removeElementAttribute
,但这不适用于样式
有没有办法明确删除属性中的所有内联样式?我尝试过谷歌搜索,但最终发现的都是与UIBinder相关的东西,以及GWT开发人员发布的大量防御性帖子“你为什么要这么做?”我不能做太多的代码修改,因为这个应用程序非常庞大,而且我已经到了最后期限。我们没有使用UIBinder。像这样设置内联CSS样式:
Style style = widget.getElement().getStyle();
style.setPosition(Position.ABSOLUTE);
style.setTop(50, Unit.PX);
style.setLeft(0, Unit.PX);
// etc.
要删除样式,请执行以下操作:
style.clearPosition();
style.clearTop();
style.clearLeft();
或者:
DOM.setStyleAttribute(element, "height", "");
要删除元素的所有内联样式,请执行以下操作:
DOM.setElementProperty(element, "style", "");
您还可以通过附加,用外部样式替代内联样式!重要信息
,请参见样式定义。例如
.my-gwt-widget {
height: 150px !important;
}
如果要清除图元的样式,可以使用以下代码:
DOM.setElementProperty(element, "style", "");
到现在为止已经弃用了。