問題
1
CSSアニメーション
端がめくれるアニメーションの作り方
CSSアニメーションの問題に挑戦しよう!
問題
「端がめくれるアニメーションの作り方」
今回はシールのようにめくれるアニメーションを作ってみたいと思います。
まずはデモの四角形にマウスをフォーカスしてみてください
あらかじめエディタに書くコード
<div class="seal"></div>
¥HTML¥
.seal{
width: 100px;
height: 100px;
background-color: #dddddd;
}
¥CSS¥
期待する画面
解答と解説(端がめくれるアニメーションの作り方)
解説
LINE登録して解答を見る
※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます
まず考え方ですが、擬似要素を用いて斜め半分だけ色のついたブロックの大きさを大きくしていって、外側の斜め半分の色を背景色と同じにすることでめくれたようにみえるアニメーションができます。
斜めに色をつける方法はlinear-gradientでできます。大きさを変える方法も簡単でwidthとheightで実現可能です。あとより一層めくれたように見せるには、めくれた部分に影をつければ、それっぽく見えます。方法としては、box-shadowを使って、親要素にoverflow:hiddenを適用すれば外側だけ影が見えないようにできます。