CSS中有一個(gè)重要的概念:選擇器。選擇器使用一定的規(guī)則來(lái)指定一個(gè)或一組標(biāo)記,從而對(duì)它們進(jìn)行
統(tǒng)一的外觀控制。
1.標(biāo)記選擇器。HTML使用標(biāo)記語(yǔ)言,如html body table tr td div ul li等。標(biāo)記選擇器就是選擇文檔中所有
指定的標(biāo)記,然后對(duì)它們應(yīng)用樣式,語(yǔ)法如下:
tagName {}
如:li {font-weight:bold}
2.類(lèi)型選擇器。標(biāo)記選擇器便于統(tǒng)一設(shè)置結(jié)點(diǎn)樣式,它的應(yīng)用范圍太大,對(duì)頁(yè)面中所有這類(lèi)標(biāo)記都有效
然而很多時(shí)候沒(méi)有必要,類(lèi)型選擇器縮小范圍。
tagName.className {}
如:<dl class="expand">,要對(duì)這個(gè)<dl>標(biāo)記應(yīng)用樣式,可使用如下語(yǔ)法:
dl.expand {}
如果上面的tagName省略:
.expand {}
那么表示所有class為expand都采用此樣式。
3.id選擇器。其語(yǔ)法如下:
tagName#idName {}
idName在頁(yè)面內(nèi)是唯一的,所以tagName可以省略,加上tagName利于維護(hù)。
4.層次選擇器。它能沿著HTML文檔的樹(shù)狀層次結(jié)構(gòu)向下指定,從而實(shí)現(xiàn)一組標(biāo)記的統(tǒng)一樣式應(yīng)用。
如:<div id="div1">
<ul>
<li>some text</li>
<li>some text</li>
</ul>
</div>
<div id="div1">
<ul>
<li>some text</li>
<li>some text</li>
</ul>
</div>
如果此時(shí)給div1和div2中的li指定不同的顯示,如一個(gè)黑體一個(gè)斜體,那么可以給li加上不同的class屬性
然后采用類(lèi)型選擇器對(duì)其定義,但這樣會(huì)使代碼變復(fù)雜,此時(shí)可用層次選擇器:
div#div1 ul li {font-weight:bold;}
div#div2 ul li {font-weight:italic;}
5.繼承。在CSS中有一些樣式是可以繼承的,如可以在<body>標(biāo)記中指定字體大小統(tǒng)一為0.75em,如下:
body {font-size:0.75em;}
那么這時(shí)在文檔中所有字體的大小都會(huì)默認(rèn)為0.75em,除非在子節(jié)點(diǎn)的CSS樣式重定義了大體大小。
6.樣式就近原則。
Javascript控制CSS
1.通過(guò)style對(duì)象改變結(jié)點(diǎn)的CSS。每個(gè)style對(duì)象對(duì)應(yīng)為該元素指定的CSS,而每個(gè)CSS屬性一一對(duì)應(yīng)于
style對(duì)象的屬性,它們只是書(shū)寫(xiě)上有所區(qū)別:
element.bgColor
element.style.backgroundColor
前一種方式就是HTML標(biāo)記屬性,后者則是利用CSS來(lái)控制。
2.利用className屬性來(lái)指定結(jié)點(diǎn)的樣式。
如定義:
.style1 {background-color:#ffffff;color:#000000}
.style1 {background-color:#000000;color:#ffffff}
<div class="style2">
<ul>
<li>some text</li>
<li>some text</li>
</ul>
</div>
如果document.getElementById('div1').className=style1,這樣就將改變了樣式。
統(tǒng)一的外觀控制。
1.標(biāo)記選擇器。HTML使用標(biāo)記語(yǔ)言,如html body table tr td div ul li等。標(biāo)記選擇器就是選擇文檔中所有
指定的標(biāo)記,然后對(duì)它們應(yīng)用樣式,語(yǔ)法如下:
tagName {}
如:li {font-weight:bold}
2.類(lèi)型選擇器。標(biāo)記選擇器便于統(tǒng)一設(shè)置結(jié)點(diǎn)樣式,它的應(yīng)用范圍太大,對(duì)頁(yè)面中所有這類(lèi)標(biāo)記都有效
然而很多時(shí)候沒(méi)有必要,類(lèi)型選擇器縮小范圍。
tagName.className {}
如:<dl class="expand">,要對(duì)這個(gè)<dl>標(biāo)記應(yīng)用樣式,可使用如下語(yǔ)法:
dl.expand {}
如果上面的tagName省略:
.expand {}
那么表示所有class為expand都采用此樣式。
3.id選擇器。其語(yǔ)法如下:
tagName#idName {}
idName在頁(yè)面內(nèi)是唯一的,所以tagName可以省略,加上tagName利于維護(hù)。
4.層次選擇器。它能沿著HTML文檔的樹(shù)狀層次結(jié)構(gòu)向下指定,從而實(shí)現(xiàn)一組標(biāo)記的統(tǒng)一樣式應(yīng)用。
如:<div id="div1">
<ul>
<li>some text</li>
<li>some text</li>
</ul>
</div>
<div id="div1">
<ul>
<li>some text</li>
<li>some text</li>
</ul>
</div>
如果此時(shí)給div1和div2中的li指定不同的顯示,如一個(gè)黑體一個(gè)斜體,那么可以給li加上不同的class屬性
然后采用類(lèi)型選擇器對(duì)其定義,但這樣會(huì)使代碼變復(fù)雜,此時(shí)可用層次選擇器:
div#div1 ul li {font-weight:bold;}
div#div2 ul li {font-weight:italic;}
5.繼承。在CSS中有一些樣式是可以繼承的,如可以在<body>標(biāo)記中指定字體大小統(tǒng)一為0.75em,如下:
body {font-size:0.75em;}
那么這時(shí)在文檔中所有字體的大小都會(huì)默認(rèn)為0.75em,除非在子節(jié)點(diǎn)的CSS樣式重定義了大體大小。
6.樣式就近原則。
Javascript控制CSS
1.通過(guò)style對(duì)象改變結(jié)點(diǎn)的CSS。每個(gè)style對(duì)象對(duì)應(yīng)為該元素指定的CSS,而每個(gè)CSS屬性一一對(duì)應(yīng)于
style對(duì)象的屬性,它們只是書(shū)寫(xiě)上有所區(qū)別:
element.bgColor
element.style.backgroundColor
前一種方式就是HTML標(biāo)記屬性,后者則是利用CSS來(lái)控制。
2.利用className屬性來(lái)指定結(jié)點(diǎn)的樣式。
如定義:
.style1 {background-color:#ffffff;color:#000000}
.style1 {background-color:#000000;color:#ffffff}
<div class="style2">
<ul>
<li>some text</li>
<li>some text</li>
</ul>
</div>
如果document.getElementById('div1').className=style1,這樣就將改變了樣式。