問題10:動く縞模様を作ってみよう
今回はデモのような縞模様が流れているように見えるアニメーションを作りましょう!
あらかじめエディタに書くコード
<div class="stripe"></div>
¥HTML¥
.stripe{
width: 200px;
height: 50px;
border: 2px solid black;
}
¥CSS¥
期待する画面
解答ソースコード
.stripe{
background: repeating-linear-gradient(#dddddd,#dddddd 5px,#aaaaaa 5px,#aaaaaa 10px, #555555 10px,#555555 15px);
animation: gradation 3s linear infinite;
}
@keyframes gradation {
0%{background: repeating-linear-gradient(#dddddd,#dddddd 5px,#aaaaaa 5px,#aaaaaa 10px, #555555 10px,#555555 15px);}
33%{background: repeating-linear-gradient(#aaaaaa,#aaaaaa 5px,#555555 5px,#555555 10px,#dddddd 10px,#dddddd 15px);}
66%{background: repeating-linear-gradient(#555555,#555555 5px,#dddddd 5px,#dddddd 10px,#aaaaaa 10px,#aaaaaa 15px);}
100%{background: repeating-linear-gradient(#dddddd,#dddddd 5px,#aaaaaa 5px,#aaaaaa 10px,#555555 10px,#555555 15px);}
}
¥CSS¥
完了にする!
活動記録をTweetする
repeat-linear-gradientの使い方はlinear-gradientと似たようなのですが、違う点はrepeat-linear-gradientの場合はbackground-sizeを指定しなくても最後の色に数値を与えてあげるとその長さで切ることができます。ちなみにanimationにlinearを与えるとアニメーションが終了してから次のアニメーションが始まるまでをなめらかにつなげてくれます。