gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 23:02:54 25 4
gpt4 key购买 nike

我继承了很多遗留的 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", "");

您还可以通过附加 !important 用外部样式覆盖内联样式。到样式定义。例如。
.my-gwt-widget {
height: 150px !important;
}

关于gwt - 从 GWT 元素中删除内联样式属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11619472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com