CSSアニメーション、
期末テスト。

〽️第1問、ボタン。 〽️第2問、transform-origin。 〽️第3問、translate。 〽️第4問、skew。 〽️第5問、rotate。 〽️第6問、複数指定。 〽️おつかれさまでした。





⬆︎CSSアニメーションについてのまとめページはこちら。




こんにちは、「ふ」です。
CSSアニメーション、作り方。第2部のtransition、transformの学習を終えたところで、今回は「期末テスト」を行います。

カンニング推奨。

相変わらずですが当コーナーの試験は、参考サイトや書籍などでカンニングしながら、解き進めることを強くおすすめします。
みなさんの「調べながら目的の実装にたどり着く」ためのトレーニングになれば幸いです。

今回も全6問の構成となっています。
前半は基本的なtransform/translateの動きの実装、後半になるにつれ「+ひと工夫」が必要な内容になっていますので、是非チャレンジしてみてください。

CSSアニメーション、中間テスト。

2021.06.03
基本編を終えたらチャレンジしましょう。


前回のテストはこちら⬆︎。
キーフレームアニメーションの基本的スキルについての出題です。

第1問、ボタン。


はじめに定番のボタンアクションです。
マウスカーソルを乗せる(タッチデバイスであればタップ)すると、少し大きくなるCSSアニメーション。

問1

ボタン要素(id = "btn"とします)に対し、hover時に少し拡大するアニメーションを実装しましょう。
スマホなどのタッチデバイスでは、タップで変化/他の場所をタップで元に戻るようにしてください。


第2問、transform-origin。


<img id = "point" src = "point.png">

要素が左外側から回転しながら画面に入ってくるアニメーションです。

問2

要素が左下を基準に回転し、画面の外側から倒れ込んでくるCSSアニメーションを作ってみましょう。


第3問、translate。


全く同じ正方形サイズの、赤と青の要素。
上下が入れ替わるアニメーションにしたい。

問3

2つの要素をアニメーションさせて上下を入れ替える。
2つのサイズは不明。


第4問、skew。


<img id = "elm" src = "elm.png">

transform:skewの基本的な動き。

問4

要素が右側から「起き上がって」くるようなCSSアニメーションを作ってください。


第5問、rotate。

<div id = "soto"> <img id = "open" src = "open.svg"> <img id = "closed" src = "closed.svg"> </div> <style> #soto { height:4em; width:10em; position:relative; } #soto img { display:block; width:100%; position:absolute; top:0; } </style>

扨(さて)このへんから、+ひと工夫が必要となってくる問題です。
⬆︎はposition:absoluteを使って「open」「closed」の画像を同じ位置に貼り付けています。両者をX軸回転によって切り替わるようにしたい。

ヒント。要素がX軸またはY軸を基準に90°回転した時、画面上では見えなくなってしまう。その性質を利用します。

問5

同じ位置に貼り付けた2枚の画像。X軸回転を使って表示が切り替わるCSSアニメーションを作りましょう。


第6問、複数指定。


<img id = "elment" src = "element.png">

要素が回転しているのですが、だんだんとその回転半径が大きくなっていきます。
実装するには、複数のtransform関数を組み合わせて作る必要がありそうです。

問6

回転軸は固定のまま、回転半径が徐々に大きくなっていくCSSアニメーションを作りましょう。


おつかれさまでした。


期末テスト、おつかれさまでした!
ネットなどで調べながらこの1〜6問の実装に成功したら、あなたのCSSアニメーションのスキルは相当なものだと言えます。

「ちょっとできなかった」という方。

「CSSアニメーション作り方」の中から関連する内容について、勉強してみてください。

最後までお読みくださり、ありがとうございました。
あなたのwebサイトが動きのある、素敵なCSSアニメーションで飾られることを祈っています。ではまた〜 ♪













「ふ」です。

swift、web、ガジェットなど。役立つ情報や観ていてたのしいページを書いていきたいと思います。