0

下面我的 CSS 文件为样式“myButton”设置了宽度“50px”,因此正确地创建了宽度为 50px 的元素。

问题是从 Java (GWT) 管理元素。以下几行:

我的文件.java

final Element box1 = DOM.getElementById("myButton");
String test=box1.getStyle().getWidth();
box1.getStyle().setWidth(100, Unit.PX);
String test2=box1.getStyle().getWidth();

结果有test=""test2="100px",并且元素被正确调整为 100px。为什么测试没有任何价值?

谢谢,

我的文件.html

<div style="width: 100%"> 
  <a  id ="myButton" href="#" class="myButton" style="text-decoration: none">Hey</a>    
</div>

我的文件.css

.myButton {
    display:block;
    padding: 10px;
    font-family:"Garamond 3 W01","Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;/*"Lucida Sans", "Lucida Sans Regular", "Lucida Grande", "Lucida Sans Unicode", Geneva, Verdana, sans-serif;*/
    font-size: medium;
    color: #000000;
    text-align: center;
    border-radius: 8px;
    background-color: #E7E7E7;
    background-image: url('bar1.png');
    border-bottom: 1px solid #BBB;
    border-top: 1px solid #BBB;
    box-shadow: 0 0 6px 0 #B3B2B7;
    text-shadow: 0 1px 0 white;
    width: 50px; 
    height: 30px;
    margin: 10px 10px 10px 10px;
}
4

1 回答 1

1

Element#getStyle()返回与 JavaScript 相同的element.style,即内联应用于元素的样式(通过style=""属性)。

GWT 不模仿getComputedStyle或类似;如果你真的需要它们(这不太可能;你可能应该重构你的代码),那么你将不得不使用 JSNI。

https://developer.mozilla.org/en/DOM/element.style

于 2012-05-13T21:04:07.847 回答