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


子選擇器

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

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

.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;}

這行代碼會使第一段文字內容中的“膽小如鼠”字體顏色變為紅色。

請注意這個選擇器與子選擇器的區別,子選擇器(child selector)僅是指它的直接后代,或者你可以理解為作用於子元素的第一代后代。而后代選擇器是作用於所有子后代元素。后代選擇器通過空格來進行選擇,而子選擇器是通過“>”進行選擇。

總結:>作用於元素的第一代后代,空格作用於元素的所有后代。

舉例:

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

}

[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>  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM