Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从GWT元素中删除内联样式属性_Gwt_Styling - Fatal编程技术网

从GWT元素中删除内联样式属性

从GWT元素中删除内联样式属性,gwt,styling,Gwt,Styling,我继承了许多遗留的GWT代码,可以简明扼要地描述为“web开发人员最糟糕的噩梦”。开发人员使用了许多具有内联样式的元素,例如GWT DeckPanel 我想删除这些内联样式,以便可以应用外部样式表,但我似乎找不到任何方法。我知道可以通过以下方式设置内联样式:DOM.setStyleAttribute(container1,“height”,“100%”)或类似,但似乎没有任何对应的removeStyleAttribute。有一个DOM.removeElementAttribute,但这不适用于样

我继承了许多遗留的GWT代码,可以简明扼要地描述为“web开发人员最糟糕的噩梦”。开发人员使用了许多具有内联样式的元素,例如GWT DeckPanel

我想删除这些内联样式,以便可以应用外部样式表,但我似乎找不到任何方法。我知道可以通过以下方式设置内联样式:
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", "");

到现在为止已经弃用了。