在web開(kāi)發(fā)中,CSS樣式表是定義界面外觀和布局的重要技術(shù)。而Javascript是web中最常用的腳本語(yǔ)言之一,它可以幫助我們實(shí)現(xiàn)對(duì)CSS樣式的動(dòng)態(tài)控制。
對(duì)于修改CSS樣式表,我們一般分為兩種情況:一種是直接通過(guò)js代碼修改內(nèi)嵌的style樣式,另一種是通過(guò)js代碼修改外鏈的樣式表。
下面我們將介紹如何通過(guò)Javascript修改外聯(lián)CSS樣式表。需要注意的是,由于瀏覽器安全性的限制,我們只能修改與當(dāng)前頁(yè)面相關(guān)的外部樣式表,不可以去操作其他域的樣式表。
//獲取外聯(lián)樣式表的方法 var css = document.styleSheets[0]; //修改CSS樣式 css.rules[0].style.color = 'red'; //或者修改CSS類(lèi)名 css.rules[0].className = 'newClass';
上述代碼中,我們首先通過(guò)document.styleSheets獲取了當(dāng)前頁(yè)面中的外部樣式表。然后我們通過(guò)rules或者cssRules屬性來(lái)獲取樣式表的各個(gè)規(guī)則,并修改他們的屬性或者類(lèi)名。
注:rules屬性在IE瀏覽器中使用,而其他瀏覽器需要使用cssRules屬性。
在某些情況下,我們還需要?jiǎng)討B(tài)的添加或者刪除一個(gè)外聯(lián)樣式表。這個(gè)時(shí)候我們可以使用以下代碼實(shí)現(xiàn):
//動(dòng)態(tài)添加一個(gè)樣式表 var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = 'style.css'; var head = document.getElementsByTagName('head')[0]; head.appendChild(link); //動(dòng)態(tài)刪除一個(gè)樣式表 head.removeChild(link);
通過(guò)上述代碼,我們可以通過(guò)js代碼實(shí)現(xiàn)對(duì)外部CSS樣式表的動(dòng)態(tài)控制。