一、局部改變樣式
分為改變直接樣式,改變className和改變cssText三種。需要注意的是:
注意大小寫:
javascript對大小寫十分敏感,className不能夠把“N”寫成“n”,cssText也不能夠把“T”寫成“t”,否則無法實現效果。
調用方法:
如果改變className,則事先在樣式表中申明類,但調用時不要再跟style,像document.getElementById('obj').style.className=”…”的寫法是錯誤的!只能寫成:document.getElementById('obj').className=”…”
改變cssText
但是如果用cssText的話,必須加上style,正確的寫法是:document.getElementById('obj').style.cssText=”…”
改變直接樣式我就不必說了,大家記得要寫到具體樣式即可,如
document.getElementById('obj').style.backgroundColor=”#003366″
二、全域改變樣式
通常情況下,我們可以通過改變外鏈樣式的的href的值實現網頁樣式的即時切換,也就是“改變模板風格”。這時候我們首先需要賦予需要改變的目標一個id,如
<link rel = "stylesheet" type="text/css" id="css" href="firefox.css" />
調用時很簡單,如
<span on click="javascript:document.getElementById('css').href = 'ie.css'">點我改變樣式</span>
對於新人往往不知道CSS具體樣式在javascript怎麼寫,而且有時候在不同瀏覽器中要求也不一樣。如float在IE中寫成styleFloat,在FIREFOX中寫成cssFloat,這就需要大家的積累了。在google中搜尋“ccvita javascript”,也許會對你的疑惑有所協助。
基礎知識
通常在網頁中樣式表的調用方法有三種。
第一種:鏈入外部樣式表檔案 (Linking to a Style Sheet)
你可以先建立外部樣式表檔案(.css),然後使用HTML的link對象。樣本如下:
複製代碼 代碼如下:<head>
<title>文檔標題</title>
<link rel=stylesheet href="http://www.jb51.net/demo.css" type="text/css">
</link>
</head>
而在XML中,你應該如下例所示在聲明區中加入:
< ? xml-stylesheet type="text/css" href="http://www.jb51.net/dhtmlet.css" ?>
第二種:定義內部樣式塊對象 (Embedding a Style Block)
你可以在你的HTML文檔的和標記之間插入一個
塊對象。 定義方式請參閱樣式表文法。樣本如下:
複製代碼 代碼如下:<html>
<head>
<title>文檔標題</title>
<style type="text/css">
<!--
body {font: 10pt "Arial"}
h1 {font: 15pt/17pt "Arial"; font-weight: bold; color: maroon}
h2 {font: 13pt/15pt "Arial"; font-weight: bold; color: blue}
p {font: 10pt/12pt "Arial"; color: black}
-->
</style>
</head>
<body>
</body></html>
請注意,這裡將style對象的type屬性設定為”text/css”,是允許不支援這類型的瀏覽器忽略樣式表單。
第三種:內聯定義 (Inline Styles)
內聯定義即是在對象的標記內使用對象的style屬性定義適用其的樣式表屬性。樣本如下:
<p style="margin-left: 0.5in; margin-right:0.5in">這一行被增加了左右的外補丁</p><p> </p>