最常用的五類CSS選擇器
阿新 • • 發佈:2019-01-04
一些新手朋友對選擇器一知半解,不知道在什麼情況下運用什麼樣的選擇器,這是一個比較頭疼的問題,針對新手朋友,對CSS選擇器作一些簡單的說明,希望能對大家的學習工作有一定的幫助,更多的CSS知識請參考Webjx.com的其他文章。
準確而簡潔的運用CSS選擇器會達到非常好的效果。我們不必通篇給每一個元素定義類(class)或ID,通過合適的組織,可以用最簡單的方法實現同樣的效果。在實際工作中,最常用的選擇器有以下五類:
一、標籤選擇器:
顧名思議,標籤選擇器是直接將HTML標籤作為選擇器,可以是p、h1、dl、strong等HTML標籤。如:
p{font:12px;}
em{color:blue;}
dl{float:left;margin-top:10px;}
二、id選擇器:
我們通常給頁面元素定義id。例如定義一個層<divid="menubar"></div>然後在樣式表裡這樣定義:
#menubar{
margin:0auto;
background:#ccc;
color:#c00;
}
其中"menubar"是你自己定義的id名稱。注意在前面加"#"號。
id選擇器也同樣支援後代選擇器,例如:#menubarp{text-align:center;line-height:20px;;}這個方法主要用來定義層和那些比較複雜,有多個“唯一後代”的元素。
三、類(class)選擇器:
在CSS裡用一個點開頭表示類別選擇器定義,例如:
.da1{
color:#f60;
font-size:14px;
}
在頁面中,用class="類別名"的方法呼叫:<spanclass="da1">14px大小的字型</span>這個方法比較簡單靈活,可以隨時根據頁面需要新建和刪除。但需要避免多class綜合症。
四、群組選擇器:
當幾個元素樣式屬性一樣時,可以共同呼叫一個宣告,元素之間用逗號分隔。如:
p,td,li{
line-height:20px;
color:#c00;
}
#mainp,#siderspan{
color:#000;
line-height:26px;
}
.www_52css_com,#mainpspan{
color:#f60;
}
.text1h1,#siderh3,.art_titleh2{
font-weight:100;
}
使用組群選擇器,將會大大的減化CSS程式碼,將具有多個相同屬性的元素,合併群組進行選擇,定義同樣的CSS屬性,這大大的提高了編碼效率與CSS檔案體積。
五、後代選擇器:
後代選擇器也叫派生選擇器。可以使用後代選擇器給一個元素裡的子元素定義樣式,例如這樣:
listrong{
font-style:italic;
font-weight:800;
color:#f00;
}
#mainp{
color:#000;
line-height:26px;
}
#sider.conspan{
color:#000;
line-height:26px;
}
.www_52css_compspan{
color:#f60;
}
#siderulli.subnav1{
margin-top:5px;
}
第一段,就是給li下面的子元素strong定義一個斜體加粗而且套紅的樣式。其他以此類推。
後代選擇器的使用是非常有益的,如果父元素內包括的HTML元素具有唯一性,則不必給內部元素再指定class或id,直接應用此選擇器即可,例如下面的h3與ul就不必指定class或id。
<divid="sider">
<h3></h3>
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
</div>
在這裡CSS就可以及樣寫:
#siderh3{...}
#siderul{...}
#siderulli{...}
結合使用上面的四種CSS選擇器,基本滿足了CSS佈局的需要,主要在於靈活的使用,特別是後代選擇器的使用能大大的簡化HTML文件,使HTML做到結構化明確,最小的程式碼實現同樣的效果。
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;}
以上語句分別定義了"連結、已訪問過的連結、滑鼠停在上方時、點下滑鼠時"的樣式。注意,必須按以上順序寫,否則顯示可能和你預期的不一致。記住它們的順序是“LVHA”。