コピペで実装 - CSSだけで実現できる無限ループアニメーション
横スクロール
HTML
html
<div class="loop"></div><div class="loop"></div>CSS
scss
@keyframes infiniteLoop {
from {
background-position: 0 100%;
}
to {
// アニメーションの最後に横の位置が background-size と一致するのがポイント
background-position: 800px 100%;
}
}
.loop {
animation-name: infiniteLoop;
animation-duration: 10s;
animation-timing-function: linear;
animation-iteration-count: infinite;
background-image: url(画像URL);
background-size: 800px auto;
background-repeat: repeat-x;
background-position: 0 100%;
background-color: orange;
height: 300px;
}@keyframes infiniteLoop {
from {
background-position: 0 100%;
}
to {
// アニメーションの最後に横の位置が background-size と一致するのがポイント
background-position: 800px 100%;
}
}
.loop {
animation-name: infiniteLoop;
animation-duration: 10s;
animation-timing-function: linear;
animation-iteration-count: infinite;
background-image: url(画像URL);
background-size: 800px auto;
background-repeat: repeat-x;
background-position: 0 100%;
background-color: orange;
height: 300px;
}縦スクロール
HTML
html
<div class="loop-vertical"></div><div class="loop-vertical"></div>CSS
scss
@keyframes infiniteLoopVertical {
from {
background-position: 0% 0;
}
to {
// アニメーションの最後に縦の位置が background-size と一致するのがポイント
background-position: 0% 500px;
}
}
.loop-vertical {
animation-name: infiniteLoopVertical;
animation-duration: 10s;
animation-timing-function: linear;
animation-iteration-count: infinite;
background-image: url(画像URL);
background-size: auto 500px;
background-repeat: repeat-y;
background-position: 0 0;
background-color: #d9d9d9;
height: 300px;
}@keyframes infiniteLoopVertical {
from {
background-position: 0% 0;
}
to {
// アニメーションの最後に縦の位置が background-size と一致するのがポイント
background-position: 0% 500px;
}
}
.loop-vertical {
animation-name: infiniteLoopVertical;
animation-duration: 10s;
animation-timing-function: linear;
animation-iteration-count: infinite;
background-image: url(画像URL);
background-size: auto 500px;
background-repeat: repeat-y;
background-position: 0 0;
background-color: #d9d9d9;
height: 300px;
}