一些新手朋友對選擇器一知半解,不知道在什么情況下運(yùn)用什么樣的選擇器,這是一個比較頭疼的問題,針對新手朋友,對CSS選擇器作一些簡單的說明,希望能對大家的學(xué)習(xí)工作有一定的幫助。
準(zhǔn)確而簡潔的運(yùn)用CSS選擇器會達(dá)到非常好的效果。我們不必通篇給每一個元素定義類(class)或ID,通過合適的組織,可以用最簡單的方法實現(xiàn)同樣的效果。在實際工作中,最常用的選擇器有以下五類:
一、標(biāo)簽選擇器:
顧名思議,標(biāo)簽選擇器是直接將HTML標(biāo)簽作為選擇器,可以是p、h1、dl、strong等HTML標(biāo)簽。如:
p { font:12px;}
em { color:blue;}
dl { float:left; margin-top:10px;}
二、id選擇器:
我們通常給頁面元素定義id。例如定義一個層 <div id="menubar"></div> 然后在樣式表里這樣定義:
#menubar {
margin:0 auto;
background:#ccc;
color:#c00;
}
其中"menubar"是你自己定義的id名稱。注意在前面加"#"號。
id選擇器也同樣支持后代選擇器,例如: #menubar p { text-align:center; line-height:20px;; } 這個方法主要用來定義層和那些比較復(fù)雜,有多個“唯一后代”的元素。
三、類(class)選擇器:
在CSS里用一個點(diǎn)開頭表示類別選擇器定義,例如:
.da1 {
color:#f60;
font-size:14px ;
}
在頁面中,用class="類別名"的方法調(diào)用: <span class="da1">14px大小的字體</span> 這個方法比較簡單靈活,可以隨時根據(jù)頁面需要新建和刪除。但需要避免多class綜合癥。
四、群組選擇器:
當(dāng)幾個元素樣式屬性一樣時,可以共同調(diào)用一個聲明,元素之間用逗號分隔。如:
p, td, li {
line-height:20px;
color:#c00;
}
#main p, #sider span {
color:#000;
line-height:26px;
}
.www_52css_com,#main p span {
color:#f60;
}
.text1 h1,#sider h3,.art_title h2 {
font-weight:100;
}
使用組群選擇器,將會大大的減化CSS代碼,將具有多個相同屬性的元素,合并群組進(jìn)行選擇,定義同樣的CSS屬性,這大大的提高了編碼效率與CSS文件體積。
五、后代選擇器:
后代選擇器也叫派生選擇器?梢允褂煤蟠x擇器給一個元素里的子元素定義樣式,例如這樣:
li strong {
font-style:italic;
font-weight:800;
color:#f00;
}
#main p {
color:#000;
line-height:26px;
}
#sider .con span {
color:#000;
line-height:26px;
}
.www_52css_com p span {
color:#f60;
}
#sider ul li.subnav1 {
margin-top:5px;
}
第一段,就是給li下面的子元素strong定義一個斜體加粗而且套紅的樣式。其他以此類推。
后代選擇器的使用是非常有益的,如果父元素內(nèi)包括的HTML元素具有唯一性,則不必給內(nèi)部元素再指定class或id,直接應(yīng)用此選擇器即可,例如下面的h3與ul就不必指定class或id。
<div id="sider">
<h3></h3>
<ul>
。糽i>...</li>
。糽i>...</li>
<li>...</li>
</ul>
</div>
在這里CSS就可以及樣寫:
#sider h3 {...}
#sider ul {...}
#sider ul li {...}
結(jié)合使用上面的四種CSS選擇器,基本滿足了CSS布局的需要,主要在于靈活的使用,特別是后代選擇器的使用能大大的簡化HTML文檔,使HTML做到結(jié)構(gòu)化明確,最小的代碼實現(xiàn)同樣的效果。
CSS中用四個偽類來定義鏈接的樣式,分別是:a:link、a:visited、a:hover和a : active。
例如:
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
a:active {font-weight : bold ;text-decoration : none ;color : #F90 ;}