我执行但是只有FF和chrome从顶部移动textarea 0px而从左移动0px但在IE中 textarea处于默认位置。
这是我的代码:
public class MyGWT implements EntryPoint {
TextArea ta= TextArea.wrap(DOM.getElementById("t"));
public void onModuleLoad() {
ta.getElement().setAttribute("style", "position:absolute;top:0px;left:0px;");
}
}
是否有任何错误或如何以编程方式从GWT改变样式属性?
答案 0 :(得分:29)
请勿通过style
设置setAttribute
。在JavaScript中,style属性实际上是一个数组。因此,根据浏览器的智能程度并了解您想要设置样式属性,它可以通过设置style
或不起作用来实现。
您应该通过getElement().getStyle().setProperty()
单独设置样式属性。或者使用特定方法,例如:ta.getElement().getStyle().setPosition(Position.ABSOLUTE)
或通过setProperty方法:ta.getElement().getStyle().setProperty("position", "absolute")
。对于其他2个属性也一样。有关支持的具体方法,请参阅Style
类。
答案 1 :(得分:3)
使用样式类怎么样?我的意思是,你可以写一个这样的样式类:
.someClass {
position:absolute;
top:0px;
left:0px;
}
然后将样式类添加到TextArea
ta.addStyleName("someClass");
它将帮助您编写更简洁的代码,而不需要难以维护的内联样式。