1.window.getComputedStyle()方法返回值
是一個可以獲取當前元素所有最終使用的CSS屬性值。返回的是一個CSS樣式聲明對象([object CSSStyleDeclaration]),只讀。
語法:var style = window.getComputedStyle("元素", "偽類"); //第二個參數選填 如果不查詢偽類的話可以不填或填null
2.window.getComputedStyle()和element.style的區別
window.getComputedStyle() 和 element.styl 的相同點就是二者返回的都是 CSSStyleDeclaration 對象,取相應屬性值得時候都是采用的 CSS 駝峰式寫法,均需要注意 float 屬性。
而不同點就是:
a.element.style 讀取的只是元素的“內聯樣式”,即 寫在元素的 style 屬性上的樣式;而 getComputedStyle 讀取的樣式是最終樣式,包括了“內聯樣式”、“嵌入樣式”和“外部樣式”。
b.element.style 既支持讀也支持寫,我們通過 element.style 即可改寫元素的樣式。而 getComputedStyle 僅支持讀並不支持寫入。
c.我們可以通過使用 getComputedStyle 讀取樣式,通過 element.style 修改樣式
3.兼容性
ie9以下 不支持window.getComputedStyle() 但是可以用element.currentStyle
比如我們想獲取元素的高度 (element.currentStyle? element.currentStyle : window.getComputedStyle(element, null)).height;
4.defaultView
在許多在線的演示代碼中, getComputedStyle 是通過 document.defaultView 對象來調用的。 大部分情況下,這是不需要的, 因為可以直接通過window對象調用。
但有一種情況,你必需要使用 defaultView, 那是在 Firefox 3.6 上訪問子框架內的樣式 (iframe).
而且除了在 IE8 瀏覽器中 document.defaultView === window 返回的是 false 外,其他的瀏覽器(包括 IE9 )返回的都是 true。所以后面直接使用 window 就好,不用在輸入那么長的代碼了。
