最近のwebサイトって何かしら動きがついていますよね。
動きをつけるってことはjavascript勉強しなきゃってこと??
と思うかもしれませんが
cssだけでも、いろんなアニメーションが作れます。
ちょっと前に作ったサイトで
画像を永遠にリピートさせるというcssを使ったので
それを紹介します。
結構無理やり系です。

今回はこの画像をリピートさせてみます。
cssだけで永遠に画像をリピートさせる
リピートするよ
とりあえずこんな感じで動きます。
結構使えそうですよね!!
コードはこんな感じです。
cssだけで永遠に画像をリピート HTML
<p class="repeat_css"><span>リピートするよ</span></p>cssだけで永遠に画像をリピート css
.repeat_css {
background: url(読み込み画像のURL)repeat-x center center;
animation: moveBg 1000s infinite linear;
Padding:100px 0;
text-align: center;
}
.repeat_css span{
color: #fff;
background:#f00;
Padding:5px 10px;
}
@keyframes moveBg {
0% {
background-position: 0;
}
100% {
background-position: 50000px;
}
}cssだけで永遠に画像をリピートポイント解説
1、 backgroundのrepeat-x
背景画像の読み込みをこのように記述。
background: url(読み込み画像のURL)repeat-x center center;
repeat-xすることにより、ひたすら画像がx方向にリピートされます。
2、cssのアニメーション
animation: moveBg 1000s infinite linear;
1000sの箇所で1000秒間のアニメーションとします。
1000sでなくても大きい数字ならなんでも大丈夫です。ひたすらリピートさせたいので
1000sにしておきました。
1000sということは、16分ぐらいリピートが続きます。
infiniteで1000sのアニメーションを繰り返します。
1000秒経つとアニメーションが初めに戻るので
1000秒に1回ちょっと繰り返しが雑になる瞬間があります。
@keyframes moveBg { 0% { background-position: 0; } 100% { background-position: 50000px; } }
この箇所でアニメーションの定義をしています。
1000秒で50000px動く。という作りです。
スピードを調整したい場合は
animation: moveBg 1000s infinite linear;
の1000sの部分の数字を調整するか
100% {
background-position: 50000px;
}の部分のpxを調整するか。で調整できます。
よろしければ使って見てください。



