0

ロールオーバーを作成するために、CSS3 アニメーションと共にスプライトを使用しています。CODA 2 ではある程度動作しますが、Mozilla、Chrome、Safari、Opera でテストすると、アニメーションは発生しません。

/*linkedin contact button*/
button{text-indent:-99999px; border: none; }
a.linkedin,a.linkedin:hover{display: block; cursor: pointer; background: url(../img/linked.png) no-repeat; width: 128px; height: 128px}
a.linkedin{background-position: -0 -0}
a.linkedin:hover{animation:first 1000s; -moz-animation:first 1000s; -webkit-animation:first 1000s; -o-animation:first 1000s;}

@keyframes first{from {background-position: -140px -0;} to {background-position: -0px -0;}}
@-moz-keyframes first{from {background-position: -140px -0;} to {background-position: -0 -0;}}
@-webkit-keyframes first{from {background-position: -140px -0;} to {background-position: -0 -0;}}
@-o-keyframes first{from {background-position: -140px -0;} to {background-position: -0 -0;}}
*a.linkedin:hover{background-position: -140px -0/9}/*for ie*/
4

1 に答える 1

0

CSS3 トランジションを使用しないのはなぜですか? バックグラウンドの位置を変更するだけでキーフレームを作成するのは、やり過ぎです。このjsfiddleを参照してください:

http://jsfiddle.net/RfbhD/3/

必要なすべての CSS:

a.linkedin {
    background: url(http://placekitten.com/300/128) 0 0 no-repeat; 
    cursor: pointer;
    display: block;
    width: 128px; 
    height: 128px; 

    -webkit-transition: background-position 1s ease; 
       -moz-transition: background-position 1s ease; 
         -o-transition: background-position 1s ease; 
            transition: background-position 1s ease; 
}

a.linkedin:hover{
    background-position: -140px 0; 
}

</p>

于 2012-11-21T20:12:55.157 に答える