【 Vue/CSSアニメーション】画像をhoverすると右から階段のようにスーッと背景と文字が現れる実装をコピペだけ

Vueバージョン確認

npm list vue

まずは上記コマンドでバージョンの確認

twinzlabo@0.1.0 /Users/twinzlabo

── vue@2.6.11

 

画像をhoverすると右から階段のようにスーッと背景が現れるアニメーション

 

すでに上の方で確認してもらったかと思いますが、

特に変哲もない画像にスタイル修正を行うことで

画像をhoverすると右から階段のようにスーッと白い背景+descriptionが現れるクールなアニメーション実装をしていきましょう

デフォルトの上の画像をhoverしたら下の画像のように

右から階段のようにスーッと白い背景+descriptionが現れるアニメーションにカスタマイズしていきます



この感じめちゃくちゃクールじゃないですか?

 

では早速コードをコピペしていきましょう

template

<template>
  <div class="container">
    <div class="bg-pic">
      <div class="pic" style="background-image : url('https://cdn.pixabay.com/photo/2017/01/17/23/05/valetta-1988455_1280.jpg');">
        <div class="screen one"></div>
        <div class="screen two"></div>
        <div class="screen three"></div>
        <div class="screen four"></div>
        <div class="fonts">
          <h1>Malta's Building</h1>
          <p>this is a photo in malta <br><br><br>Have A Good Time</p>
        </div>
      </div>
    </div>
  </div>
</template>

 

style

<style>
body {
  background-color: #E43;
}

.container {
  width  : 960px;
  margin : 0 auto;
}

.container:after{
  clear   : both;
  display : table;
  content : '';
}

.bg-pic {
  width  : 500px;
  height : 500px;
  margin : 20px;
  background-color: white;
  float  : left;
  cursor : pointer;
  box-shadow : 3px 3px 5px 0px rgba(0,0,0,0.5);
}

.pic {
  width  : 500px;
  height : 500px;
  position: relative;
  overflow: hidden;
  background-color: #102B46;
}

.fonts {
  background-color : #ffffff;
  width            : 500px;
  height           : 500px;
  padding          : 10px;
  top : 0;
  left: 0;
  font-family : georgia;
  color       : #888888;
  opacity : 0;
  transition : opacity .8s;
}

.fonts h1 {
  margin-top: 100px;
  margin-bottom : 40px;
}

.fonts p {
  font-size : 14px;
  font-style: italic;
  text-align: center;
  line-height : 20px;
}

.pic:hover .fonts {
  opacity : 1;
  transition : opacity .2s .7s;
}

.pic div {
  position : absolute;
}

.screen {
  width  : inherit;
  height : 130px;
  background-color: #fff;
  left   : 100%;
}

.screen.one {
  top : 0;
  transition : all .2s;
}

.screen.two {
  top : 130px;
  transition : all .4s;
}

.screen.three {
  top : 260px;
  transition : all .6s;
}

.screen.four {
  top : 390px;
  transition : all .8s;
}

.pic:hover .one {
  left : 0;
  transition : all .2s;
}

.pic:hover .two {
  left : 0;
  transition : all .4s;
}

.pic:hover .three {
  left : 0;
  transition : all .6s;
}

.pic:hover .four {
  left : 0;
  transition : all .8s;
}
</style>

ちょっとコードが長いですがいかがでしたでしょうか?

画像をhoverすると動きのあるアニメーションが実行されましたか?

公式HPとかでも使えそうなお洒落な動きが出せましたね

下の記事では別の応用的な画像のデザイン方法を掲載しているので是非挑戦してみてください

 

以上です

 


参考

そもそもWebデザインの基礎がわからない。。
そんなあなたにはこれ!

ふたご


でもなあ、独学だと心配だしプログラミングスクールで学びたい!。かといってお金はかけたくないし。。
そんなあなたにはこれ!

ふたご

完全無料で一人前のエンジニアになれるプログラミングスクールあります
  1. プログラミング学習&サポートが無料!
  2. 誰もが知っている超優良企業への就職サポート付き!
  3. 学習言語:Java、PHP、HTML、CSSなど

 

   話だけ聞いてみる