2013-03-12 78 views
4

我希望能够访问GWT标签的字体大小。我已经试过:获取GWT标签的计算字体大小

String fontSize = label.getElement().getStyle().getFontSize() 

但这似乎仅是已编程设置(而不是字体大小由CSS规则决定)的字体大小。有任何想法吗?

感谢,

〜欧文

回答

0

没有,getFontSize()返回CSS property only

给像下面一试:

String fontsize= DOM.getStyleAttribute(label.getElement(), "font-size"); 
+0

这似乎不起作用,当标签的字体大小为“24px”(从继承)时,它会返回“”。 – opowell 2013-03-12 15:29:56

+0

奇怪。你能看到在萤火虫?看到我更新的属性为“字体大小”。请检查一次 – 2013-03-12 15:33:48

+0

1.我可以看到它,当我在Chrome中“检查元素”。 2. Camelcase是必需的 - “font-size”会引发错误。 – opowell 2013-03-13 13:25:04

2

如果你正在寻找的computed size,GWT不提供开箱的,但你应该能够使用一个简单的JSNI检索它。例如:

public static native String getComputedStyleProperty(Element element, String property) /*-{ 
    if ($doc.defaultView && $doc.defaultView.getComputedStyle) { 
    return $doc.defaultView.getComputedStyle(element, null).getPropertyValue(property); 
    } 
    return ""; 
}-*/; 

未经测试,但应该让你开始。请注意,property应该是camelCase,对于IE < 9,您还应该检查currentStyle。还应该返回基于element的样式属性的退步,而不是空字符串。 另请参阅Get computed font size for DOM element in JS

+0

尽管看起来朝着正确的方向,但返回null。 – opowell 2013-03-13 13:29:21