2011-07-01 5 views
0

VSクラスは、次のHTMLを考えてみましょうCSSと特異IDS

'下線れるべき' リンクに下線をされていない
#rightBar a 
{ 
    text-decoration: none; 
} 
#rightBar a.barLinks 
{ 
    text-decoration: underline; 
} 

、それはすべきではありませんこれはクラスbarLinksとid rightbarの両方を継承するからです。また、 '#rightBar a.barLinks'(0,1,1,1)は '#rightBar a'(0,1,0,1)よりも特異性が高いので、後者の権限をオーバーライドする必要がありますか?

は、他にどのように私はあなたのa要素がクラスbarLinksを持たない任意のインライン仕様を使用してに頼ることなく下線するためのリンク(CSSやHTMLの両方)

答えて

7

「下線れるべき」得ることができます。それは間違った選択を使用している、特異性の問題ではありませんhttp://jsfiddle.net/J34mj/2/

+1

はい、これに同意します。 '#rightBar a.barLinks'は、class属性がbarLinksに設定されている' a'タグのみを意味します。すなわち、 '

2

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

は例:これを行います。それはこのようになります。それはすべきではない

#rightBar .barLinks a {} 
0

、barLinksはあなたが#rightBar .barLinksにあなたのCSSを変更した場合、A、それは動作するはずです、タグにのみ適用されます。これを試してみてください<a>

にないクラスは= "barLinks" ので

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

は機能しません。

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

それでも問題はありません。

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