20

CSS または Sass を使用して、すべてのアンカー タグの疑似セレクターにスタイルを適用することは可能ですか?

何かのようなもの

a:* {
    color: #900;  
}

それ以外の

a {
    &:hover, &:link, &:active, &:visited {
        color: #900; 
    } 
}

標準のスタイルをリセットしたいだけです。CSS では、ワイルドカードを使用してすべての要素にスタイルを適用できますが、すべての疑似セレクターについてはどうでしょうか?

4

2 に答える 2

15

簡単な答え: いいえ、直接ではありません


ただし、ミックスインを使用して同様の効果を得ることができます。

// Sets the style only for pseudo selectors
@mixin setLinkSelectorStyle {
  &:hover, &:link, &:active, &:visited {
        @content;
    }
}

// Sets the style to pseudo selectors AND base default anchor
@mixin setLinkStyleAll {
  &, &:hover, &:link, &:active, &:visited {
        @content;
    }
}

a {
  color:red;
  @include setLinkSelectorStyle {
    color:gold;
  }
}

a.specialLink {
  @include setLinkStyleAll {
    color:purple;
  }
}

http://sassmeister.com/コンパイル済み SASS を使用した例】

a {
  color: red;
}
a:hover, a:link, a:active, a:visited {
  color: gold;
}

a.specialLink, a.specialLink:hover, a.specialLink:link, a.specialLink:active, a.specialLink:visited {
  color: purple;
}
<a>Normal anchor, No href (:link won't work, but other selectors will)</a>
<hr />
<a href="#">Normal anchor</a>
<hr />
<a class="specialLink">Specific class (no href)</a>
<hr />
<a class="specialLink" href="#">Specific class</a>

ミックスインがアンカー/クラスに含まれている場合、ミックスインはすべての疑似セレクターのルールを作成します。


古い回答を削除しました。履歴を見て確認してください。

于 2012-07-02T12:31:25.463 に答える