まず、アニメーションが 40 秒と非常に遅くなります。次に、キーフレームのすべてのベンダー プレフィックス バージョンを含める必要があります。-webkit
キーフレームを忘れただけです。
注: jquery/javascript は必要ありません
ホバーを外した後に矢印がスムーズに戻るようにする場合はtransition
、ベンダーとそのベンダーのプレフィックス付きの仲間を追加するだけです
編集:一方向に滑らかに連続するだけでなく、ホバリング時に前後に滑らかにしたいようです。キーフレームを変更するだけでまったく同じ概念です。
a {
background-position: 90% center;
-webkit-transition: background-position 0.3s linear; /* Chrome 1-25, Safari 3.2+ */
-moz-transition: background-position 0.3s linear; /* Firefox 4-15 */
-o-transition: background-position 0.3s linear; /* Opera 10.50–12.00 */
transition: background-position 0.3s linear; /* Chrome 26, Firefox 16+, IE 10+, Opera 12.10+ */
}
a:hover {
background-position: 100% center;
-moz-animation: animatedBackground 2s infinite linear;
-o-animation: animatedBackground 2s infinite linear;
-webkit-animation: animatedBackground 2s infinite linear;
animation: animatedBackground 2s infinite linear;
}
@-moz-keyframes animatedBackground {
0% {
background-position: 90% center;
}
50% {
background-position: 100% center;
}
100% {
background-position: 90% center;
}
}
@-webkit-keyframes animatedBackground {
0% {
background-position: 90% center;
}
50% {
background-position: 100% center;
}
100% {
background-position: 90% center;
}
}
@-o-keyframes animatedBackground {
0% {
background-position: 90% center;
}
50% {
background-position: 100% center;
}
100% {
background-position: 90% center;
}
}
@-ms-keyframes animatedBackground {
0% {
background-position: 90% center;
}
50% {
background-position: 100% center;
}
100% {
background-position: 90% center;
}
}
@keyframes animatedBackground {
0% {
background-position: 90% center;
}
50% {
background-position: 100% center;
}
100% {
background-position: 90% center;
}
}
これは、連続した (右への) 矢印バージョンです。
a {
background-position: 90% center;
-webkit-transition: background-position 0.3s linear; /* Chrome 1-25, Safari 3.2+ */
-moz-transition: background-position 0.3s linear; /* Firefox 4-15 */
-o-transition: background-position 0.3s linear; /* Opera 10.50–12.00 */
transition: background-position 0.3s linear; /* Chrome 26, Firefox 16+, IE 10+, Opera 12.10+ */
}
a:hover {
background-position: 100% center;
-moz-animation: animatedBackground 2s infinite linear;
-o-animation: animatedBackground 2s infinite linear;
-webkit-animation: animatedBackground 2s infinite linear;
animation: animatedBackground 2s infinite linear;
}
@-moz-keyframes animatedBackground {
0% {
background-position: 90% center;
}
100% {
background-position: 100% center;
}
}
@-webkit-keyframes animatedBackground {
0% {
background-position: 90% center;
}
100% {
background-position: 100% center;
}
}
@-o-keyframes animatedBackground {
0% {
background-position: 90% center;
}
100% {
background-position: 100% center;
}
}
@-ms-keyframes animatedBackground {
0% {
background-position: 90% center;
}
100% {
background-position: 100% center;
}
}
@keyframes animatedBackground {
0% {
background-position: 90% center;
}
100% {
background-position: 100% center;
}
}