CSSスプライトとstepsを使って筋トレをしてみた
webクリエイターボックスさんの記事を参考にして、筋トレ(腕立てふせ)をアニメーションにしてみました。
イラストレーターで描いたイラストをSVG形式で保存
腕を曲げる前と、曲げた後の動きをひとつの画像ファイルとして用意します。
HTMLとCSSを実装
pushup
クラスに画像を埋め込んで、動かしていきます。
<h1>WORK OUT</h1>
<div class="viewContainer">
<div class="pushup"></div>
</div>
CSSで画像の配置と、アニメーションの動作を記述します。
/* push up */
.pushup {
background: url(../images/person/pushUpMan.svg) no-repeat;
width: 360px;
height: 173px;
animation: play 1s steps(2) infinite
}
@keyframes play {
to {
background-position: -840px 0;
}
}
アニメーションの動き
animation
の1s
は、アニメーションの動作時間(秒)を表しています。
step(2)
は、2段階を繰り返すという意味です。
animation: play 1s(※時間) steps(2)(※コマ数) infinite
コマ数を増やせば、それだけ滑らかなアニメーションを作ることが可能です。
最後にinfinite
を指定すると、動作が無限ループになります。
background-position: -840px 0;
keyframes
内で1秒ごとに背景を指定の数値分だけx軸でズラす事で、あたかも動きがあるように見せています。
デモ
実行結果がこちらです。
デモサイト
参考
Author And Source
この問題について(CSSスプライトとstepsを使って筋トレをしてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/tetsu-upstr/items/7f0a96764a3a963693f6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .