Ich habe eine Lösung gefunden, die für mich funktioniert hat ...
Wenn Sie ein Listenelement (oder div) haben, das nur den Link enthält, und sagen wir, dies gilt für soziale Links auf Ihrer Seite zu Facebook, Twitter usw. Wenn Sie ein Sprite-Image verwenden, können Sie dies tun:
<li id="facebook"><a href="facebook.com"></a></li>
Machen Sie den Hintergrund des "li" zu Ihrem Schaltflächenbild
#facebook {
width:30px;
height:30px;
background:url(images/social) no-repeat 0px 0px;
}
Machen Sie dann das Hintergrundbild des Links zum Schwebezustand der Schaltfläche. Fügen Sie auch das Deckkraftattribut hinzu und setzen Sie es auf 0.
#facebook a {
display:inline-block;
background:url(images/social) no-repeat 0px -30px;
opacity:0;
}
Jetzt brauchen Sie nur noch "Deckkraft" unter "a: hover" und setzen dies auf 1.
#facebook a:hover {
opacity:1;
}
Fügen Sie die Opazitätsübergangsattribute für jeden Browser zu "a" und "a: hover" hinzu, damit das endgültige CSS ungefähr so aussieht:
#facebook {
width:30px;
height:30px;
background:url(images/social) no-repeat 0px 0px;
}
#facebook a {
display:inline-block;
background:url(images/social) no-repeat 0px -30px;
opacity:0;
-webkit-transition: opacity 200ms linear;
-moz-transition: opacity 200ms linear;
-o-transition: opacity 200ms linear;
-ms-transition: opacity 200ms linear;
transition: opacity 200ms linear;
}
#facebook a:hover {
opacity:1;
-webkit-transition: opacity 200ms linear;
-moz-transition: opacity 200ms linear;
-o-transition: opacity 200ms linear;
-ms-transition: opacity 200ms linear;
transition: opacity 200ms linear;
}
Wenn ich es richtig erklärt habe, dass Sie eine verblassende Schaltfläche für das Hintergrundbild haben sollten, hoffen Sie, dass es zumindest hilft!
background-image
ist keine animierbare Eigenschaft ( w3.org/TR/css3-transitions/#animatable-properties ), daher ist Ihre Lösung nicht standardkonform.