背景画像を横方向にループで移動させたいという要望がたまにあるので、CSSのkeyframesで実装する方法をメモしておきます。
サンプルコード
#roopに背景画像のアニメーションを設定します。
HTML
<div id="roop"></div>
CSS
#roop { width: 100%; height: 540px; background: url(bg.jpg) repeat-x; background-position: 0 0; -webkit-animation: bgroop 20s linear infinite; animation: bgroop 20s linear infinite; } @-webkit-keyframes bgroop { from { background-position: 0 0; } to { background-position: -1956px 0; } } @keyframes bgroop { from { background-position: 0 0; } to { background-position: -1956px 0; } }
今回使用する背景画像の幅が1956pxなので、アニメーション完了時のbackground-positionの値が-1956pxになるように設定しています。
背景画像のループ移動のデモページ
縦方向に移動させたい場合もやり方は同じで、background-positionの2番目の値を設定すればOKです。
参考にさせていただきました!
大変シンプルでわかりやすかったです。
ありがとうございました。
あかねさん
コメントありがとうございます。
お役に立てたようでよかったです。