使用css控制頁(yè)面有4種方式,分別為行內(nèi)樣式(內(nèi)聯(lián)樣式)、內(nèi)嵌式、鏈接式、導(dǎo)入式。
成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元樟樹(shù)做網(wǎng)站,已為上家服務(wù),為樟樹(shù)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
行內(nèi)樣式(內(nèi)聯(lián)樣式)即寫在html標(biāo)簽中的style屬性中,如div style="width:100px;height:100px;"/div
內(nèi)嵌樣式即寫在style標(biāo)簽中,例如style type="text/css"div{width:100px; height:100px}/style
鏈接式即為用link標(biāo)簽引入css文件,例如link href="test.css" type="text/css" rel="stylesheet" /
導(dǎo)入式即為用import引入css文件,例如@import url("test.css")
如果想用javascript獲取一個(gè)元素的樣式信息,首先想到的應(yīng)該是元素的style屬性。但是元素的style屬性僅僅代表了元素的內(nèi)聯(lián)樣式,如果一個(gè)元素的部分樣式信息寫在內(nèi)聯(lián)樣式中,一部分寫在外部的css文件中,通過(guò)style屬性是不能獲取到元素的完整樣式信息的。因此,需要使用元素的計(jì)算樣式才獲取元素的樣式信息。
一、獲取內(nèi)聯(lián)樣式
div
id
="myDiv"
style="width:100px;height:100px;background-color:red;
border:1px
solid
black;"/div
script
var
myDiv
=
document.getElementById("myDiv");
alert(myDiv.style.width);//100px
alert(myDiv.style['height']);//100px
var
style=myDiv.style;
alert(style.backgroundColor);//red
myDiv.style.backgroundColor='green';//myDiv背景色變?yōu)榫G色
/script
在這種情況下,獲取和設(shè)置樣式只靠style屬性就可以,因?yàn)閑lement.style屬性返回的是類似數(shù)組的一組樣式屬性及對(duì)應(yīng)值,因此訪問(wèn)具體樣式的時(shí)候可以采取兩種方式即“ele.style.屬性名稱”和“ele.style['屬性名稱']”。但是,要注意的是,針對(duì)css樣式里background-color;margin-left之類的短杠相接的屬性名稱,在使用style屬性獲取設(shè)置樣式的時(shí)候名稱要改為駝峰式,如ele.style.backgroundColor.
二、因?yàn)榈谝环N方法,即使用style屬性只能獲取到內(nèi)聯(lián)樣式。但是,實(shí)際情況是文檔在現(xiàn)在都基本遵循分離思想,樣式基本都是外部鏈接,所以三種樣式都要考慮到的,這時(shí)就要使用其他方法進(jìn)行獲取,而在這種情況下進(jìn)行樣式獲取時(shí),不同的瀏覽器又有不同的處理方式(主要是ie和非ie),因此根據(jù)瀏覽器可以分為兩種方式:
(2.1)非ie瀏覽器中,使用document.defaultView對(duì)象的getComputedStyle(ele,null/偽類)方法,該方法接受兩個(gè)參數(shù),第一個(gè)為要考察的元素,第二個(gè)則要根據(jù)情況,如果只是考察元素本身則為null,如果要
考察偽類,則為響應(yīng)的偽類。該方法獲取到的為元素應(yīng)用的最終樣式組合,同樣是類似數(shù)組的一個(gè)實(shí)例。
(2.2)在ie瀏覽器中,對(duì)getComputedStyle()方法不支持,但是針對(duì)每個(gè)標(biāo)簽元素都有一個(gè)近似于style屬性的currentStyle的屬性,且用法和style用法相同。只不過(guò)獲取到的樣式范圍不一樣。currenStyle獲取到的和getComputedStyle()方法相接近。
為了在處理時(shí)達(dá)到兼容,可以根據(jù)這兩種不同的處理方式創(chuàng)建一個(gè)函數(shù)來(lái)達(dá)到兼容目的,使得不管在那種瀏覽器中,都可以成功獲取樣式。如下所示:
style
type="text/css"
#myDiv
{
background-color:blue;
width:100px;
height:200px;
}
/style
div
id
="myDiv"
style="background-color:red;
border:1px
solid
black;"/div
script
var
myDiv
=
document.getElementById("myDiv");
var
finalStyle
=
myDiv.currentStyle
?
myDiv.currentStyle
:
document.defaultView.getComputedStyle(myDiv,
null);/*利用判斷是否支持currentStyle(是否為ie)
來(lái)通過(guò)不同方法獲取style*/
alert(finalStyle.backgroundColor);
//"red"
alert(finalStyle.width);
//"100px"
alert(finalStyle.height);
//"200px"
/script
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
百度:cookies
cookies是一種txt格式的文件,放在客戶端瀏覽器緩存文件夾里面,當(dāng)你在一個(gè)網(wǎng)站上選好字體、背景等點(diǎn)保存,實(shí)際上就是通過(guò)asp、jsp、php、.net、js等編程語(yǔ)言往你電腦上保存了一個(gè)cookies。當(dāng)你再次訪問(wèn)這個(gè)網(wǎng)站時(shí),網(wǎng)站會(huì)讀取你電腦上有沒(méi)有對(duì)應(yīng)的cookies文件,如果有,就根據(jù)cookies里面記錄的信息來(lái)顯示對(duì)應(yīng)的css樣式。
先清緩存,還不行的話,就在Tomcat中將webapps中已發(fā)布的工程刪除,將work文件夾中的所有文件刪除,重新發(fā)布一下。
層疊樣式表是一種用來(lái)表現(xiàn)HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的一個(gè)應(yīng)用)或XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的一個(gè)子集)等文件樣式的計(jì)算機(jī)語(yǔ)言。CSS目前最新版本為CSS3,是能夠真正做到網(wǎng)頁(yè)表現(xiàn)與內(nèi)容分離的一種樣式設(shè)計(jì)語(yǔ)言。
用document.getElementById(‘element’).style.xxx可以獲取元素的樣式信息,可是它獲取的只是DOM元素style屬性里的樣式規(guī)則,對(duì)于通過(guò)class屬性引用的外部樣式表,就拿不到我們要的信息了。
DOM標(biāo)準(zhǔn)里有個(gè)全局方法getComputedStyle,可以獲取到當(dāng)前對(duì)象樣式規(guī)則信息,如:getComputedStyle(obj,null).paddingLeft,就能獲取到對(duì)象的左內(nèi)邊距。但是IE不支持此方法,它有自己的一個(gè)實(shí)現(xiàn)方式,那就是currentStyle,不同于全局方法getComputedStyle,它是作為DOM元素屬性存在的,如:obj.currentStyle.paddingLeft,在IE中就獲取到對(duì)象的左內(nèi)邊距了,兼容性的寫法如下:
return window.getComputedStyle ? window.getComputedStyle(obj,null).paddingLeft : obj.currentStyle.paddingLeft;
本文題目:讀取css樣式,引入css樣式的方法
鏈接URL:http://aaarwkj.com/article18/dsiiogp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)