2013-03-12 100 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