不論什麼支持style 特性的元素在 ,在其DOM 節點 對象中都有一個 style 屬性與之相應。 這個style 對象是 CSSStyleDeclaration類型的實例,包括着html style特性的所有樣式信息。但不包括 外部樣式或者 內嵌樣式層疊而來的樣式。javascript
在style特性中。提定的不論什麼css屬性,都將表現爲這個style 對象的屬性。對於使用短劃線的的屬性名。必須轉化爲駝峯大寫和小寫形式,多數狀況下都可以這樣轉換。css
也有例外, float 是javascript keyword,不能直接轉換,在ie中 轉換爲 styleFloat,在其餘瀏覽器中,轉換爲 cssFloat.html
假設元素沒有設置style屬於,哪麼style會有一些默認的屬性。java
1. dom2 來style對象定義了一些屬性與方法瀏覽器
2. 計算樣式: 「DOM2 級樣式」加強了document.defaultView。提供了 getComputedStyle()方法。dom
這種方法接受兩個參數:要取得計算樣式的元素和一個僞元素字符串(好比":after")。post
假設不需要僞元素信息,第二個參數可以是null。getComputedStyle()方法返回一個CSSStyleDeclaration 對象(與style 屬性的類型一樣)。當中包括當前元素的所有計算的樣式。htm
(IE 中 沒有 getComputedStyle()方法,但是在IE中,每個有style屬性的元素 都有一個 currentStyle 屬性, 它是CSSStyleDeclaration 類型的實例)
對象
邊框屬性可能會也可能不會返回樣式表中實際的border 規則(Opera 會返回,但其它瀏覽器不會)。ip
存在這個區別的緣由是不一樣瀏覽器解釋綜合(rollup)屬性(如border)的方式不一樣,
因爲設置這樣的屬性實際上會涉及很是多其它屬性。
在設置border 時。 其實是設置了四個邊的邊框寬度、顏色、樣式屬性( border-left-width 、border-top-color 、border-bottom-style 。 等等)。
所以, 即便computedStyle.border 不會在所有瀏覽器中都返回值,但computedStyle.borderLeftWidth 會返回值。