2011-07-01 27 views
0

考慮下面的HTML:CSS和特異性 - 類VS IDS

<div id="rightBar"> 
    <div class="barElement"> 
     <div class="barText"><a href="#">Not underlined</a><br /></div> 
     <div class="barLinks"><a href="#">Should be underlined</a></div> 
    </div> 
</div> 

下面CSS:

#rightBar a 
{ 
    text-decoration: none; 
} 
#rightBar a.barLinks 
{ 
    text-decoration: underline; 
} 

的 '應當強調' 鏈接沒有下劃線,應該不是很因爲它繼承了barLinks和id右鍵。 '#rightBar a.barLinks'(0,1,1,1)比'#rightBar a'(0,1,0,1)更具體,所以它應該覆蓋後者的權利?

我還能如何獲得「應當強調」鏈接,而不訴諸使用任何內嵌規範(CSS兩種或HTML)來強調

回答

7

a元素沒有類barLinks。這樣做:

#rightBar .barLinks a 
{ 
    text-decoration: underline; 
} 

例如:http://jsfiddle.net/J34mj/2/

+1

是的,我同意這一點。 '#rightBar a.barLinks'只表示那些class屬性設置爲'barLinks'的'''標籤,即'

0

它不應該是,在barLinks只適用於一個標籤,如果你改變你的CSS到#rightBar .barLinks一個它應該工作。

1
#rightBar a.barLinks 
{ 
    text-decoration: underline; 
} 

不會起作用,因爲類= 「barLinks」 不上<a>

試試這個;

#rightBar .barLinks a 
{ 
    text-decoration: underline; 
} 

或者失敗了;

#rightBar .barLinks a 
{ 
    text-decoration: underline !important; 
}