CSS:afterと:hover擬似要素を使用して単純なロールオーバーを実装しようとすると、現在問題が発生しています。CSSの組み合わせ:afterと:hover:複数のHTMLタグが正しく動作しない
は右へのクロックやFacebookのアイコンを見てください:http://clean.philippchristoph.de/
ここでCSSのコードです:あなたが見ることができるように
.icon {
background: url('../img/clock_icon.png') top left no-repeat;
width: 25px;
height: 25px;
}
.icon:after {
.transition(opacity, .2s, ease);
content: " ";
position: absolute;
top: 4px; left: 5px; bottom: 0; right: 0;
background: url('../img/clock_icon.png') no-repeat;
background-position: -25px 0;
opacity: 0;
}
.icon:hover:after, .clock:hover div {
opacity: 1;
}
、画像をスプライトや不透明度を使用して色あせています。しかし、今は私はもう両方の要素をホバーすることはできません。サンプルページに表示されているように、Facebookのアイコンの上にカーソルを置くことができますが、時計は表示されません。 Facebookのアイコンを削除すると、再び時計の上にカーソルを置くことができます。 2つのアイコンは完全に別々の要素であることに注意してください。
私はこの動作をFFとWindowsのChromeでテストしました。
誰かがこの問題にいくつかの光を当てることができればそれは素晴らしいことだ。.. :)
はそんなにありがとう:Dの追加「の位置:相対;」 ".icon"に全体の問題を修正しました.. –