ログイン

問題8 吹き出しアニメーションを作ろう!

CSSAnimationの問題

CSSAnimation

吹き出しアニメーションを作ろう!

問題

今回はhover時にその要素の説明がでてくるアニメーションを作ります。
webサイトでよく見かけると思います。
では早速やってみましょう!

自分の環境に書くコード

              <div class="box">
  <div class="image">画像</div>
  <div class="text">ここに説明などを入れます</div>
</div>
¥HTML¥
            
              .box{
  width: 300px;
  white-space: nowrap;
  text-align: center;
}
.image{
  width: inherit;
  height: 80px;
  line-height: 80px;
  background-color: aquamarine;
}
.text{
  position: relative;
  margin-top: 20px;
  height: 50px;
  background-color:#dddddd;
  line-height: 50px;
}
.text::before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%,-50%) rotate(45deg);
  background-color: #dddddd;
  z-index: -1;
  height: 20px;
  width: 20px;
}
¥CSS¥
            

期待する画面

ログインして解答を見る
コードのアイコン

解答ソースコード

              .text{
  transform: translateY(30px);
  transition: 1s;
  opacity: 0;
}
.box:hover .text{
  transform: translateY(0);
  opacity: 1;
}
¥CSS¥
            
答えのアイコン

解説

これの他にも要素の説明を表示するアニメーションはたくさんあります。
cssを学んでいくと自分でカスタマイズできる幅がどんどん広がって楽しくなっていきます。
今回はopacity、transform、translateを使ってフェードインアウトするようにしました。
完了にする!
LINEの友達追加でお役立ち動画をGET!!