2011-04-21 58 views

回答

6

根據Crescent Fresh's answer鏈接到Dean Edwards的黑客,jQuery經過很長的時間才能返回所有瀏覽器中的實際計算像素值,而不是最初在樣式表中定義的值,所以似乎是,你可以依靠它。

+1

確實,看看我發現:http://struckthrough.krystophv.org/tag/curcss/。這種方法很久以前就被棄用了,但它確實用於返回'1em'而不是轉換它,例如。 – 2011-04-21 16:45:26

+0

@簡單有趣的發現! – 2011-04-21 16:48:22

+0

謝謝Pekka!這在下一個版本中將非常有用... – 2011-04-21 17:14:51

5

據我所知,瀏覽器必須將每個尺寸(無論是在em,%等)轉換爲像素。這就是DOM如何存儲它,因此jQuery將把這個值返回給你。

EDIT 根據此答案here,(由佩卡的回答中引用)僅IE支持currentStyle,它給出了由CSS設置的大小(包括單元)。顯然,沒有其他瀏覽器支持這一點,相反他們都使用computed style將所有內容都轉換爲像素。所以我說的是對的。 :P

+0

你可以提供某種證據嗎? – 2011-04-21 16:37:41

+2

有道理。如果jQuery(或者瀏覽器)在'%'中返回任何度量值,我會生氣。 – 2011-04-21 16:37:54

+0

我現在找不到它,但我似乎記得遇到了一個SO問題,它提到實際的字符串來自包含原始單元('95%'或'1.2em')的CSS將與舊版本的jQuery一起返回(我不確定,但我會說<= 1.2),但現在不再有了。 – 2011-04-21 16:39:48

相關問題