回答:
これは、実際に何をしようとしているかに依存します。
要素が疑似クラスに一致する:before
ときに、疑似要素にスタイルを適用するだけの場合は、またはa
を記述する必要があります。擬似要素が後に来ることに注意してくださいa:hover:before
a:visited:before
疑似クラスのあることに(実際には、セレクタ全体の最後にあります)。また、これらは2つの異なるものであることにも注意してください。これらの両方を「疑似セレクター」と呼ぶと、このような構文の問題に遭遇すると混乱するでしょう。
CSS3を作成している場合は、2つのコロンを含む疑似要素を指定して、この区別を明確にすることができます。したがって、a:hover::before
そしてa:visited::before
。ただし、IE8以前などのレガシーブラウザー用に開発している場合は、単一のコロンをうまく使用できます。
疑似クラスと疑似要素のこの特定の順序は、仕様に記載されています。
セレクター内の単純なセレクターの最後のシーケンスに1つの疑似要素を追加できます。
単純なセレクターのシーケンスは、コンビネーターによって分離されていない単純なセレクターのチェーンです。常に型セレクターまたはユニバーサルセレクターで始まります。シーケンス内で他のタイプセレクターまたはユニバーサルセレクターを使用することはできません。
単純セレクタは、タイプセレクタ、普遍的なセレクタ、属性セレクタ、クラスセレクタ、IDセレクタ、又は擬似クラスのいずれかです。
疑似クラスは単純なセレクターです。ただし、疑似要素は、単純なセレクターに似ていますが、そうではありません。
ただし、:hover
1などのユーザーアクションの疑似クラスでは、ユーザーが要素ではなく疑似要素自体と対話する場合にのみこの効果を適用する必要がある場合は、a
レイアウトに依存したあいまいな回避策を使用しない限り、これは不可能です。 。テキストに示されているように、標準のCSS疑似要素は現在、疑似クラスを持つことはできません。その場合、:hover
疑似要素ではなく実際の子要素に適用する必要があります。
1 もちろん、:visited
疑似要素はリンクではないため、これは質問のようなリンクの疑似クラスには適用されません。
text-decoration
。
a:hover::before
代わりに書きなさいa::before:hover
:例。
:after
CSS3対::after
developer.mozilla.org/en-US/docs/Web/CSS/::afterは、(単一の:
より良いサポートを持っている)
マウスオーバーでメニューリンクのテキストを変更します。(ホバーの異なる言語テキスト)ここにあります
html:
<a align="center" href="#"><span>kannada</span></a>
css:
span {
font-size:12px;
}
a {
color:green;
}
a:hover span {
display:none;
}
a:hover:before {
color:red;
font-size:24px;
content:"ಕನ್ನಡ";
}
a:hover::before
れますtext-decoration: underline
。これにより、下線に置換テキストの赤い色が使用されます。
このコードで行ったように、右の角括弧( ">")を使用して、アクションを1つのクラスのみに制限することもできます。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
span {
font-size:12px;
}
a {
color:green;
}
.test1>a:hover span {
display:none;
}
.test1>a:hover:before {
color:red;
content:"Apple";
}
</style>
</head>
<body>
<div class="test1">
<a href="#"><span>Google</span></a>
</div>
<div class="test2">
<a href="#"><span>Apple</span></a>
</div>
</body>
</html>
注: hover:beforeスイッチは.test1クラスでのみ機能します