(一)CSS選擇器:
1.標籤選擇器:透過HTML的標籤名稱直接選擇此標籤
2.類別選擇器:透過選擇器的名稱{. } 來對新增了class屬性的標籤進行選取
3.ID選擇器:透過#選擇器的名稱{} 來對新增了ID屬性的標籤進行選擇,ID是在HTML文檔中唯一的
4.通用選擇器:透過*{}來選擇HTML文件中所有的標籤
5.後代選擇器: 選擇器1(空格)選擇器2 來選擇一個標籤中對應的所有子標籤
6.子代選擇器: 選擇器1>選擇器2 來選擇一個標籤中直接一代的子標籤,對更深一層的不起作用
7.交集選擇器:選擇器1(中間沒有空格)選擇器2 例如#li.li{} 選擇一個ID=li並且class=li的標籤
8.並集選擇器:選擇器1,選擇器2 例如:#li.li{} 選擇ID=li或class=li的標籤
(二)選擇器的優先權:
1.當作用於同一層的標籤,例如都直接作用於標籤li:ID選擇器>類別選擇器>標籤選擇器>通用選擇器
2.最內側的選擇器比外層的優先:div ul li>#ul li標籤在ul最內側,所有能覆蓋外層ID選擇器的樣式
3.當作用於同一層,而且最後一層選擇器一樣,那麼哪個精準哪個的優先級就高:div ul li>div li
4.當優先權完全相同的時候,現在後面的樣式會覆蓋前面的樣式
補充:5.優先權的演算法:5. style = 1000(行內樣式表) id = 100(id選擇器) class = 10(類別選擇器) element = 1(標籤選擇器) 用法:前提是作用在同一層:例如 #ul li{} 和ul # li{} 2者的優先權哪一個高呢,#ul li{}優先權用數值表示為101(100+1),後者的優先權數值是101(1+100),所以優先權一樣高,前提是2個選擇器必須作用於同一層
(三)三種方式連結樣式表以import導入樣式表
1.行內樣式表:寫在HTML標籤裡面,通過style屬性,優先權最高,但是把HTML程式碼和CSS程式碼糅合在一塊,不符合CSS的標準“內容和樣式相分離”,而且不利用後期的維護
2.內部樣式表:寫在head的子標籤style中,在一定程度上實現了內容與樣式分離,但是無法實現樣式復用引用方式:
3.外部樣式表:實現了內容與樣式的分離,方便後期的維護與復用,符合W3C的標準,優先級最低引用:在head標籤中通過
4.import導入樣式表:在內部樣式表style中,透過@import url(CSS資源位址)來匯入CSS樣式表
注意位址:內部樣式表與import導入的區別:
1)link標籤是html的標籤,而import不是
2)link可以連結可以連結到各種資源,而樣式表只能導入
## 3)link標籤相當於在hmtl代碼和css樣式中起到橋樑作用,鏈接css代碼,而import是導入css樣式表,會在文檔加載時,導入CSS到HMTL中4)link方式是在文檔邊加載時,邊鏈接CSS樣式,而import是在html文檔中完之後,在導入css樣式 link 終上描述
##(四)偽類選擇器:
選擇器名稱:偽類{},偽類標籤標籤的一個狀態,例如:a:link{}:標籤a標籤為方位是的樣式;a:hover{}:當滑鼠放在a標籤時顯示的樣式;a:active{}:當滑鼠在a標籤按下時顯示的樣式;a:visited{}:當a標籤存取後時顯示的樣式;也可以:a:first-chird{}表示a標籤有父容器,而且是父容器下第一個子標籤a被選中
更多詳解CSS各種選擇器和import導入樣式表還有一些偽類選擇器相關文章請關注PHP中文網!