CSS的子選擇器與後代選擇器的區別

子選擇器

引用連接:http://blog.csdn.net/u012110719/article/details/41171517css

還有一個比較有用的選擇器子選擇器,即大於符號(>),用於選擇指定標籤元素的第一代子元素。如右側代碼編輯器中的代碼:html

.food>li{border:1px solid red;}

這行代碼會使class名爲food下的子元素li(水果、蔬菜)加入紅色實線邊框。編輯器

[html] view plain copy
  1. <style type="text/css">  
  2. .food>li{border:1px solid red;}/*添加邊框樣式(粗細爲1px, 顏色爲紅色的實線)*/  
  3. </style>  

[html] view plain copy
  1. <h1>食物</h1>  
  2. <ul class="food">  
  3.     <li>水果  
  4.         <ul>  
  5.             <li>香蕉</li>  
  6.             <li>蘋果</li>  
  7.             <li>梨</li>  
  8.         </ul>  
  9.     </li>  
  10.     <li>蔬菜  
  11.         <ul>  
  12.             <li>白菜</li>  
  13.             <li>油菜</li>  
  14.             <li>捲心菜</li>  
  15.         </ul>  
  16.     </li>  
  17. </ul>  

包含(後代)選擇器

包含選擇器,即加入空格,用於選擇指定標籤元素下的後輩元素。如右側代碼編輯器中的代碼:字體

.first  span{color:red;}

這行代碼會使第一段文字內容中的「膽小如鼠」字體顏色變爲紅色。spa

請注意這個選擇器與子選擇器的區別,子選擇器(child selector)僅是指它的直接後代,或者你能夠理解爲做用於子元素的第一代後代。然後代選擇器是做用於全部子後代元素。後代選擇器經過空格來進行選擇,而子選擇器是經過「>」進行選擇。.net

總結:>做用於元素的第一代後代,空格做用於元素的全部後代。code

舉例:

.food li{
    border:1px solid red;/*添加邊框樣式(粗細爲1px, 顏色爲紅色的實線)*/xml

}htm

[html] view plain copy
  1. <ul class="food">  
  2.     <li>水果  
  3.         <ul>  
  4.             <li>香蕉</li>  
  5.             <li>蘋果</li>  
  6.             <li>梨</li>  
  7.         </ul>  
  8.     </li>  
  9.     <li>蔬菜  
  10.         <ul>  
  11.             <li>白菜</li>  
  12.             <li>油菜</li>  
  13.             <li>捲心菜</li>  
  14.         </ul>  
  15.     </li>  
  16. </ul>  
相關文章
相關標籤/搜索