2012-12-15 69 views
0

我不知道如果你能幫助下面的代碼,我明白,顏色樣式是繼承的,但由於某種原因我沒有得到預期的結果。例如,查看以「類別5」開頭的列表,在子類別e-f顯示爲綠色的情況下顯示爲藍色。我已將樣式設置爲'new_list',該樣式應該是藍色的,但這不是在列表中繼承到子類別E-H中的其他ul項。 乾杯無序列表中的css顏色繼承,包括類名

<style> 
.new_list {color:blue;} 

.all_list {color:red;} 

ul  {color:green;} 
</style> 



<ul class='all_list'> 
    <li>Category1 
     <ul class='sub_list'> 
      <li>SubCategoryA</li> 
      <li>SubCategoryB</li> 
      <li>SubCategoryC</li> 
      <li>SubCategoryD</li> 
     </ul> 
    </li> 
    <li>Category2</li> 
    <li>Category3</li> 
    <li>Category4</li> 

</ul> 




<ul class='new_list'> 
    <li>Category5 
     <ul> 
      <li>SubCategoryE</li> 
      <li>SubCategoryF</li> 
      <li>SubCategoryG</li> 
      <li>SubCategoryH</li> 
     </ul> 
    </li> 
    <li>Category6</li> 
    <li>Category7</li> 
    <li>Category8</li> 

</ul> 

回答

2

你頂撞適用於同一元素的規則:

定義ul:green.new_list:blue。在主要的UL類的情況下。 new_list類規則優先於元素規則,因爲它更具體。對於兒童UL,情況並非如此,其中不具有具有.new_list類,因此一般ul:green定義優先於默認的繼承顏色,並且本身通過繼承傳遞給LI兒童。

換句話說:繼承是一個隱含的默認值,被任何明確的規則覆蓋