CSS選擇器基礎

CSS選擇器常見的有幾種?

  1. ID選擇器
    #content {css樣式} <div id="content"></div> 權限高,慎用
  2. 類選擇器
    .content {css樣式} <div class="content"></div>就是class選擇器
  3. 派生選擇器
    table tr {css樣式}選擇某個元素下的子元素,一般用語作用域隔離
  4. 分組選擇器
    div, p { css樣式}注意中間為英文逗號,兩者為平行關系
  5. 屬性選擇器
    input[type="text"] { css樣式}使用場景偏少

選擇器的優先級是怎樣的?

優先級從高到低

  1. 在屬性后面添加!important(特定情況下用,幾乎很少)
  2. 在屬性添加style樣式(一般不推薦這樣寫)
  3. id選擇器(在唯一特定的元素內使用)
  4. 類選擇器(使用范圍很廣,經常使用)
  5. 偽類選擇器(根據需求使用,注意優先級)
  6. 屬性選擇器(使用場景較少)
  7. 標簽選擇器(一般少量代碼下使用)
  8. 通配符選擇器(使用范圍極少,不推薦用,會加大瀏覽器渲染負擔)
  9. 瀏覽器自定義(權限較低)

class 和 id 的使用場景?

  • class選擇器是我們經常使用的選擇器最廣最多的選擇器,可以給任何元素添加class名稱。
  • ID選擇器使用前確定此元素權限較高且在文檔里具有唯一性才可使用

使用CSS選擇器時為什么要劃定適當的命名空間?

是為了更好的匹配我們特定需要匹配的元素,只對匹配的元素生效,保證代碼樣式在合理的控制內不出現不必要的錯誤。

以下選擇器分別是什么意思?

#header{
}       /* ID選擇器匹配ID為header的元素*/
.header{
}       /*類選擇器匹配所有class名為header的元素*/
.header .logo{
}       /*匹配所有class名為header的后代里所有class名為logo的元素*/
.header.mobile{
}       /*匹配同時具有class名為header和class名為mobile的元素*/
.header p, .header h3{
}       /*同時匹配class名為header后代里所有p元素和class名為header后代里所有h3元素*/
#header .nav>li{
}      /*匹配ID名為header后代里所有class名為nav的所有直接子元素li*/注意是直接!
#header a:hover{
}      /*匹配ID名為header后代里所有a標簽的鼠標懸浮動作*/

列出你知道的偽類選擇器

a:link {color:#FF0000;} /* 未訪問的鏈接 */
a:visited {color:#00FF00;} /* 已訪問的鏈接 */
a:hover {color:#FF00FF;} /* 鼠標劃過鏈接 */
a:active {color:#0000FF;} /* 已選中的鏈接 */

注意,以上方法需要嚴格按照此順序才能有效!
E:focus匹配獲得焦點的e元素
E:nth-child(n)匹配其父元素的第n個子元素,第一個元素為1
E:nth-last-child(n)匹配其父元素的倒數第n個子元素,第一個元素為1
E:nth-of-type(n)相當于E:nth-child(n),不過是從同類標簽開始數

:first-child:first-of-type的作用和區別

  • :first-child選擇器用于匹配其父元素的首個子元素里的選定標簽
    如:p:first-child {樣式}為p的父元素下的第一個P元素標簽

  • first-of-type選擇器匹配屬于其父元素下同種類型的第一個子元素

區別::first-child屬于強制性的,結構上的父元素下的第一個子元素,如果標簽不準確會匹配不到的情況,而:first-of-type是在父元素下所有的子元素中檢索到所要匹配類型的標簽給他樣式
參考博客:http://www.cnblogs.com/2050/p/3569509.html

運行如下代碼,解析下輸出樣式的原因。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>first-child  vs first-of-child</title>
  <style>

    .item1:first-of-type{
      background: red;
    } 
/*匹配所有class名為item1的元素(111、222、333、444、555、666),
尋找其父元素下的第一個同類型的子元素使其背景為紅,
111為父元素body下第一個div元素所以為背景為紅,
222為父元素.ct下第一個p類型子元素所以背景為紅,
333為父元素.ct下第一個div類型子元素所以背景為紅,
444為第2個div子元素所以不變,
555為父元素.item2下第一個div類型子元素所以背景為紅,
666為第2個所以不變*/ 
    
    .item1:first-child{
      color: blue;
    }
/* 匹配所有class名為item1的元素(111、222、333、444、555、666),
尋找其父元素下第一個子元素使其顏色為藍,
111為父元素body下第一個子元素所以變藍,
222為父元素.ct下第一個子元素所以變藍,
333和444分別為父元素.ct下第2個第3個子元素所以不變,
555為父元素.item2下第一個子元素所以變藍,
666為第2個所以不變。
 */
  </style>
</head>
<body>
 <div class="item1">111</div>
 <div class="ct">
   <p class="item1">222</p>
   <div class="item1">333</div>
   <div class="item1">444</div>
   <div class="item2">
     <div class="item1">555</div>
     <div class="item1">666</div>
   </div>
 </div>
</body>
</html>

text-align: center的作用是什么,作用在什么元素上?能讓什么元素水平居中

text-align: center的作用是讓元素內容水平居中,主要作用于塊級元素、表單格元素里的行內元素組成的內容(對塊級元素本身不起作用).
能夠讓塊級元素內所有的由行內元素(a、span、img、input....)組成的內容水平居中。

如果遇到一個屬性想知道兼容性,在哪查看?

在這個鏈接http://caniuse.com/ 框內查詢其兼容性。


  • 本博客版權歸羞澀的澀和饑人谷所有,轉載請注明出處
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,578評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,701評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,691評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,974評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,694評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,026評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,015評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,193評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,719評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,442評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,668評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,151評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,846評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,255評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,592評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,394評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內容

  • 一.class 和 id 的使用場景? name:指定標簽的名稱應用場景:①form表單:name可作為傳遞給服務...
    Sunset125閱讀 976評論 0 0
  • 其實平時用得多的選擇器無非也就是那么幾個,時間久了,許多不常用的選擇器就慢慢忘記了。為了不讓自己忘記這些選擇器,今...
    盛夏晚清風閱讀 1,863評論 0 5
  • 1、類型選擇器(Type Selector): 例:div會選擇所有的 元素; 2、ID選擇器(ID Select...
    常青的秘密閱讀 450評論 0 0
  • 1.class 和 id 的使用場景? 類選擇器允許以一種獨立于文檔元素的方式來指定樣式。該選擇器可以單獨使用,也...
    草鞋弟閱讀 2,446評論 0 1
  • 之前在幾個項目中遇到需要修改狀態欄顏色和設置導航欄背景圖片的問題、由于項目趕得緊在遇到狀態欄顏色的問題時候就...
    每周報閱讀 537評論 1 1