ログイン

問題10 縞模様の作り方2

CSSAnimationの問題

CSSAnimation

縞模様の作り方2

問題

今回はデモのような縞模様が流れているように見えるアニメーションを作りましょう!

自分の環境に書くコード

              <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¥
            
答えのアイコン

解説

今回は作るのが大変だったと思います。縞模様の作り方1の応用のようなものです。
repeat-linear-gradientの使い方はlinear-gradientと似たようなのですが、違う点はrepeat-linear-gradientの場合はbackground-sizeを指定しなくても最後の色に数値を与えてあげるとその長さで切ることができます。ちなみにanimationにlinearを与えるとアニメーションが終了してから次のアニメーションが始まるまでをなめらかにつなげてくれます。
ログインして解答を見る
完了にする!
LINEの友達追加でお役立ち動画をGET!!