2011-09-26 83 views
0
<div class="jqueryslidemenu"> 
<ul> 
<li class="menuitem">TEST1</li> 
<li class="navOFFTDDisabled" id="TEST2">TEST2</li> 
<li class="navOFFTDDisabled" id="TEST3">TEST3</li> 
<li class="navOFFTDDisabled" id="TEST4">TEST4</li> 
</ul> 
</div> 


CSS FILE 
.jqueryslidemenu ul li { 
display: block; 
background: #FFCC00; 
color: white; 
padding: 4px 12px 6px 5px; 
border-right: 1px solid #778; 
color: #2d2b2b; 
text-decoration: none; 
font-weight: bold; 
cursor: hand; 
} 

.navOFFTDDisabled{ 
//Aplly Style 
} 

我不能應用類=「navOFFTDDisabled」每一個(LI)的項目,因爲「jqueryslidemenu」被覆蓋navOFFTDDisabled風格我。怎麼可以申請這兩種風格我如何可以覆蓋父樣式的元素

回答

4

使它成爲一個更好的匹配,

.jqueryslidemenu ul li.navOFFTDDisabled{ 
//I'm more important neener neener. 
} 

只是爲了更加有用,實際上你可以計算出它與佔先選擇在the specification

0

你描述有三種可能重寫一個選擇:

  1. 選擇的順序:選擇在樣式表進一步向下覆蓋選擇進一步的頂端

  2. 選擇特異性:http://www.w3.org/TR/CSS2/cascade.htmlhttp://www.molly.com/2005/10/06/css2-and-css21-specificity-clarified/

    基本上它取決於你在選擇器中有多少個標籤,類和ID。類別比標籤和ID添加更多的權重比類別添加更多的權重

  3. 您可以做的最後一件事是將!important添加到您的樣式規則中,該樣式規則將覆蓋任何其他選擇器。爲了正確,您仍然可以擁有更多!important規則,而選擇器特定性規則再次發揮作用。例如。 .klass{color:red !important}