window.getComputedStyle()方法的使用及其擴展


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 就好,不用在輸入那么長的代碼了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM