使用css控制頁面有4種方式,分別為行內(nèi)樣式(內(nèi)聯(lián)樣式)、內(nèi)嵌式、鏈接式、導(dǎo)入式。
江城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
行內(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文件中,通過style屬性是不能獲取到元素的完整樣式信息的。因此,需要使用元素的計(jì)算樣式才獲取元素的樣式信息。
用document.getElementById(‘element’).style.xxx可以獲取元素的樣式信息,可是它獲取的只是DOM元素style屬性里的樣式規(guī)則,對(duì)于通過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;
一、獲取內(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)值,因此訪問具體樣式的時(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用法相同。只不過獲取到的樣式范圍不一樣。currenStyle獲取到的和getComputedStyle()方法相接近。
為了在處理時(shí)達(dá)到兼容,可以根據(jù)這兩種不同的處理方式創(chuàng)建一個(gè)函數(shù)來達(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)
來通過不同方法獲取style*/
alert(finalStyle.backgroundColor);
//"red"
alert(finalStyle.width);
//"100px"
alert(finalStyle.height);
//"200px"
/script
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
盒子 原來的位置 0 + 10 盒子現(xiàn)在的offsetLeft 10
|-5| = 5
這三個(gè)函數(shù)都是 數(shù)學(xué)函數(shù)
Math
比如說 console.log(Math.ceil(1.01)) 結(jié)果 是 2
console.log(Math.ceil(1.9)) 結(jié)果 2
console.log(Math.ceil(-1.3)) 結(jié)果 是 -1
比如說 console.log(Math.floor(1.01)) 結(jié)果 是 1
console.log(Math.floor(1.9)) 結(jié)果 1
console.log(Math.floor(-1.3)) 結(jié)果 是 -2
console.log(Math.round(1.01)) 結(jié)果 是 1
console.log(Math.round(1.9)) 結(jié)果 是 2
勻速動(dòng)畫的原理: 盒子本身的位置 + 步長
緩動(dòng)動(dòng)畫的原理: 盒子本身的位置 + 步長 (不斷變化的)
( 缺陷:只能水平方向!隨后的“封裝運(yùn)動(dòng)框架單個(gè)屬性會(huì)進(jìn)一步改進(jìn)” )
我們?cè)L問得到css 屬性,比較常用的有兩種:
點(diǎn)語法可以得到 width 屬性 和 top屬性 ** 帶有單位的 。 100px
但是這個(gè)語法有非常大的 缺陷**, 不變的。
后面的width 和 top 沒有辦法傳遞參數(shù)的。
var w = width;
box.style.w
最大的優(yōu)點(diǎn) : 可以給屬性傳遞參數(shù)
我們想要獲得css 的樣式, box.style.left 和 box.style.backgorundColor
但是它只能得到 行內(nèi)的樣式。
但是我們工作最多用的是 內(nèi)嵌式 或者 外鏈?zhǔn)?。
怎么辦?
核心: 我們?cè)趺床拍艿玫絻?nèi)嵌或者外鏈的樣式呢?
外部(使用link)和內(nèi)嵌(使用style)樣式表中的樣式(ie和opera)
兩個(gè)選項(xiàng)是必須的, 沒有偽類 用 null 替代
我們這個(gè)元素里面的屬性很多, left top width ===
我們想要某個(gè)屬性, 就應(yīng)該 返回該屬性,所有繼續(xù)封裝 返回當(dāng)前樣式的 函數(shù)。
千萬要記得 每個(gè) 的意思 : 那是相當(dāng)重要
flag在js中一般作為開關(guān),進(jìn)行判斷。
等動(dòng)畫執(zhí)行完畢再去執(zhí)行的函數(shù) 回調(diào)函數(shù)
我們?cè)趺粗绖?dòng)畫就執(zhí)行完畢了呢?
很簡單 當(dāng)定時(shí)器停止了。 動(dòng)畫就結(jié)束了
案例源碼:
in運(yùn)算符也是一個(gè)二元運(yùn)算符,但是對(duì)運(yùn)算符左右兩個(gè)操作數(shù)的要求比較嚴(yán)格。in運(yùn)算符要求第1個(gè)(左邊的)操作數(shù)必須是字符串類型或可以轉(zhuǎn)換為字符串類型的其他類型,而第2個(gè)(右邊的)操作數(shù)必須是數(shù)組或?qū)ο?。只有?個(gè)操作數(shù)的值是第2個(gè)操作數(shù)的屬性名,才會(huì)返回true,否則返回false
案例源碼:
鏈接:
密碼:7fv8
CSS是一門指定文檔該如何呈現(xiàn)給用戶的語言。
一、CSS幫助您將文檔信息的內(nèi)容和如何展現(xiàn)它的細(xì)節(jié)相分離
創(chuàng)建html文檔
創(chuàng)建樣式表
在與前面相同的目錄中,新建另一個(gè)文本文件。該文件將成為您的樣式表。請(qǐng)將它命名為:style1.css
在您的CSS文件中,復(fù)制、粘貼下面的行,并保存該文件:
二、連接您的文檔和樣式表
為將您的文檔和樣式表相連,請(qǐng)編輯您的HTML文件。并添加下面高亮的行:
保存該文件并刷新您的瀏覽器。該樣式表將首字母顯示為紅色,如下所示:
三、rel=“stylesheet”是什么意思呢?
范例中呈現(xiàn)的是標(biāo)準(zhǔn)HTML link標(biāo)簽嵌入css檔案的寫法,其中「rel="stylesheet" type="text/css"」所代表的意思,就是告訴瀏覽器要導(dǎo)入一個(gè)在外部的css檔案,透過href導(dǎo)入名為xxxx.css的樣式檔案。