1. 程式人生 > >JavaScript操作文件樣式(css)的方法

JavaScript操作文件樣式(css)的方法

一、修改文件元素的style屬性。
     例如:e.stye.backgroundColor = "red";
    注意點:
        1.一次只能操作一個屬性。
        2.被操作的屬性的書寫要符合駝峰命名法。
        3.屬性值有單位的必須帶上單位。
        4.屬性值是字串。
        5.由於操作的是style屬性,所以設定樣式很有用,但是獲取樣式值就不推薦了,畢竟只能獲取style中的樣式值嘛!
 
二、通過setAttribute()方法操作style和class屬性。
    例如:
<div id="id1"></div>
		<script type="text/javascript">
			var e = document.getElementById("id1");
			e.setAttribute("style","width:100px;height:100px;background-color:red;");
		</script>

三、通過CSSStyleDeclaration物件的CSSText屬性操作樣式。
    例如:
<div id="id2"></div>
		<script type="text/javascript">
			var e = document.getElementById("id2");
			e.style.cssText = "width:100px;height:100px;background-color:red;";
		</script>

四、操作樣式表文件。
利用document.stylesheets[]的insertRule()和deleteRule()等方法操作。不過不推薦,IE瀏覽器的方法名字不同,且目前相容性不太好。如果想詳細瞭解一下,請參考《權威指南6》的第436頁。


補充知識:
    如何獲取元素的計算樣式(最終顯示時的樣式資訊)?
    利用瀏覽器物件的getComputedStyle()方法。

    注意點:
    1.只能獲取,不能修改。
    2.獲取的值是絕對值。相對單位會轉換成絕對單位,例如:em會轉換成px。顏色以rgb或rgba形式返回。
    3.不計算符合屬性。例如:不要查詢margin,要查詢marginTop.
    這個方法也會有欺騙性,例如:查詢字型名fontFamily時,它只會返回一串值,而不會告訴你它到底應用了哪個字型。