1

このCSSについて少し助けてもらえますか?私のスタイルシートでは、アンカーの色を定義しています。

a:link {}
a:visited {}
a:hover {}

後のスタイルシートで、次のように定義されたスパン内にあるアンカーがいくつかあります。

span.logout {}
span.logout a:link, a:visited {}
span.logout a:hover {}

唯一のことは、ログアウトスパンのアンカーカラーがプライマリアンカーカラーを上書きしていることです。なぜこれが起こっているのか私は混乱しています。「ログアウト」スパン内のアンカーのみがこのCSSの影響を受けると思いました。

とにかく、誰かがこれを手伝ってくれるなら、私はそれをいただければ幸いです。また、CSSの「サブクラス」という用語を正しく使用していますか?

読んでくれてありがとう、そして素晴らしい一日を。:-)

4

2 に答える 2

5

セレクターは、コンマで区切られているため、セレクターa:visitedによって修飾されることなく、独立して立っています。span.logoutつまり、同じ宣言セットを使用して、このような2つのルールがある場合と同じです。

span.logout a:link {}
a:visited {}

a:visitedこれには、内の訪問済みリンクに対しても、以前のルールを上書きする効果がありますspan.logout

このような要素span.logout内でのみセレクターを有効にするには、コンマの後にセレクターを繰り返す必要があります。span

span.logout a:link, span.logout a:visited {}

CSSには、すべてのクラスが同じように扱われるという点で「サブクラス」の概念はありませんが、ここでの使用は問題ないようです。ただし、 「サブクラス」という用語は、CSSコーディング手法にすぎないOOCSSのようなものでより明確な定義を持っていると思います。

要素のコンテキストで訪問したリンクにのみスタイルを適用するという点で、セレクターをコンテキストセレクターと呼びます(技術的には、スペースを分離し、子孫コンビネータと呼ばれます)。span.logoutspan.logouta:visited

于 2012-11-14T16:35:33.100 に答える
2

変更する必要があります:

span.logout a:link, a:visited {}

に:

span.logout a:link, span.logout a:visited {}

カンマでセレクターが区切られているため、すべてのa:visitedリンクが2番目のスタイルセットの対象になります

于 2012-11-14T16:36:27.490 に答える