問題

2
CSSアニメーション

おしゃれなボタンアニメーションを作ろう

CSSアニメーションの問題に挑戦しよう!

問題

おしゃれなボタンアニメーションを作ろう

今回はおしゃれなボタンの作り方です。
擬似要素before、afterを使っています。

あらかじめエディタに書くコード

                    <div class="btn">ここをクリック</div>
¥HTML¥
                
                    body{
  padding: 30px;
}
.btn{
  position: relative;
  width: 200px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  cursor: pointer;
}
.btn::before,.btn::after{
  position: absolute;
  content: "";
  width: inherit;
  height: inherit;
  border: 2px solid black;
  box-sizing: border-box;
  transition: .3s;
}
.btn::before{
  top: -5px;
  left: -5px;
  border-right: none;
  border-bottom: none;
}
.btn::after{
  top: 5px;
  right: -5px;
  border-top: none;
  border-left: none;
}
¥CSS¥
                

期待する画面

解答と解説(おしゃれなボタンアニメーションを作ろう)

解説

LINE登録して解答を見る

※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます

どうだったでしょうか。今回はいくつかの基礎的な知識の複合問題です。
まず、hover時にbeforeもafterも動いていますよね。これをtransformで実現します。これはtop、leftとかでできるんじゃない?と思われたと思います。やってみると分かると思いますが、topが動いてからleftが動くと言った感じで別々の動作になりませんか?これだとちょっとブサイクなアニメーションになるので今回はtransformを利用しました。最後にborder-radiusで角を丸くすれば完成です。是非これを機会に自分で面白いボタンを作ってみてください。

さらにスキルアップしたい方は公式LINEから「CSSアニメーション」と送信すると動画が見れます。

LINE登録して動画を視聴する
あなたに合った学習プランは? 適正コース診断