首頁 >web前端 >js教程 >JavaScript修改css局部和全域樣式程式碼詳解

JavaScript修改css局部和全域樣式程式碼詳解

伊谢尔伦
伊谢尔伦原創
2017-07-19 16:32:582635瀏覽

修改css樣式style在某些情況下還是比較實用的,可以動態改變一些樣式,接下來為大家介紹下使用JavaScript是如何做到的

一、局部改變樣式
#分為改變直接樣式,改變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(&#39;css&#39;).href = &#39;ie.css&#39;">点我改变样式</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://demo.css" type="text/css"> 
</link></head>

而在XML中,你應該如下例所示在宣告區中加入: 

< ? xml-stylesheet type="text/css" href="http://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>


以上是JavaScript修改css局部和全域樣式程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn