どうすれば書き込み:hover
と:visited
条件付けができa:before
ますか?
試しa:before:hover
ていますが、機能していません。
どうすれば書き込み:hover
と:visited
条件付けができa:before
ますか?
試しa:before:hover
ていますが、機能していません。
これは、実際に何をしようとしているかによって異なります。
要素が疑似クラスと一致するときに単にスタイルを:before
疑似要素に適用したい場合は、代わりに書く必要があります。疑似要素が疑似クラスの後にあることに注意してください(実際には、セレクター全体の最後にあります)。それらは2つの異なるものであることに注意してください。両方を「疑似セレクター」と呼ぶと、このような構文の問題が発生すると混乱します。a
a:hover:before
a:visited:before
CSS3を作成している場合は、この区別を明確にするために、二重コロンで疑似要素を示すことができます。したがって、a:hover::before
およびa:visited::before
。ただし、IE8以前などのレガシーブラウザー用に開発している場合は、単一のコロンを使用することで問題を回避できます。
疑似クラスと疑似要素のこの特定の順序は、仕様に記載されています。
セレクター内の単純なセレクターの最後のシーケンスに、1つの疑似要素を追加できます。
単純なセレクターのシーケンスは、コンビネーターによって分離されていない単純なセレクターのチェーンです。それは常にタイプセレクターまたはユニバーサルセレクターで始まります。他のタイプセレクターまたはユニバーサルセレクターはシーケンスで許可されていません。
単純なセレクターは、タイプセレクター、ユニバーサルセレクター、属性セレクター、クラスセレクター、IDセレクター、または疑似クラスのいずれかです。
疑似クラスは単純なセレクターです。ただし、疑似要素は、単純なセレクターに似ていますが、そうではありません。
:hover
ただし、 1などのユーザーアクション疑似クラスの場合、ユーザーが疑似要素自体と対話し、要素とは対話しない場合にのみこの効果を適用する必要がある場合a
、これは、レイアウトに依存するあいまいな回避策以外では不可能です。 。テキストで示されているように、標準のCSS疑似要素は現在疑似クラスを持つことができません。その場合、:hover
疑似要素ではなく実際の子要素に適用する必要があります。
1 もちろん、:visited
疑似要素はリンクではないため、これは質問のようなリンク疑似クラスには適用されません。
:examplea:hover::before
の代わりに書いてください。a::before:hover
マウスオーバーでメニューリンクのテキスト(ホバーで別の言語のテキスト)を変更するには、次のようにします。
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: "ಕನ್ನಡ";
}
.card-listing:hover::after
、、hover
をafter
使用してみてください::
。それが動作します。
または、要素と要素に設定pointer-events:none
してから、ホバーCSSを要素に追加することもできます。a
pointer-event:all
a:before
a{
pointer-events: none;
}
a:before{
pointer-events: all
}
a:hover:before{
background: blue;
}
BoltClockの答えは正しいです。追加したいのは、疑似要素のみを選択する場合は、スパンを配置することだけです。
例えば:
<li><span data-icon='u'></span> List Element </li>
それ以外の:
<li> data-icon='u' List Element</li>
このようにあなたは簡単に言うことができます
ul [data-icon]:hover::before {color: #f7f7f7;}
これは、li要素全体ではなく、疑似要素のみを強調表示します。
このコードで行ったように、右角かっこ( ">")を使用して、アクションを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クラスでのみ機能します