【Vue/画像一覧をコピペだけ】イメージをhoverすると背景が閉じるように変化し文字が現れるアニメーション

Vueバージョン確認

npm list vue

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

twinzlabo@0.1.0 /Users/twinzlabo

── vue@2.6.11

 

画像一覧をhoverすると背景が変化し文字が現れるアニメーション

 

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

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

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

デフォルトの上の画像をhoverしたら下の画像のように背景と文章が現れるアニメーションをカスタマイズしていきます

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

 

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

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-left"></div>
        <div class="screen-right"></div>
        <div class="fonts">
          <h3>Malta's Buildings</h3>
          <p>this is a photo in malta <br><br><br>Have A Good Time</p>
        </div>
      </div>
    </div>
    <div class="bg-pic">
      <div class="pic" style="background-image : url('https://images.unsplash.com/photo-1551607117-21fa129a211d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1720&q=80');">
        <div class="screen-left"></div>
        <div class="screen-right"></div>
        <div class="fonts">
          <h3>Malta's Sun</h3>
          <p>this is a photo in malta <br><br><br>Have A Good Time</p>
        </div>
      </div>
    </div>
    <div class="bg-pic">
      <div class="pic" style="background-image : url('https://images.unsplash.com/photo-1548780416-f23a4186ceb9?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1716&q=80');">
        <div class="screen-left"></div>
        <div class="screen-right"></div>
        <div class="fonts">
          <h3>Malta's House</h3>
          <p>this is a photo in malta <br><br><br>Have A Good Time</p>
        </div>
      </div>
    </div>
    <div class="bg-pic">
      <div class="pic" style="background-image : url('https://images.unsplash.com/photo-1527155431803-74e5f93c7111?ixlib=rb-1.2.1&auto=format&fit=crop&w=1580&q=80');">
        <div class="screen-left"></div>
        <div class="screen-right"></div>
        <div class="fonts">
          <h3>Malta's Window</h3>
          <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  : 280px;
  height : 300px;
  margin : 20px;
  background-color: white;
  float  : left;
  cursor : pointer;
  box-shadow : 3px 3px 5px 0px rgba(0,0,0,0.5);
}

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

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

.fonts h3 {
  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 .3s;
}

.pic div {
  position : absolute;
}


/* screen open and close */

.screen-right , .screen-left{
  width : 50%;
  height: inherit;
  background-color : #ffffff;
  top : 0;
  transition : all .3s;
}

.screen-right {
  left : 100%;
}

.screen-left {
  right : 100%;
}

.pic:hover .screen-right {
  transition : all .3s;
  left : 50%;
}

.pic:hover .screen-left {
  transition : all .3s;
  right : 50%;
}
</style>

いかがでしたでしょうか?

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

こういうのちょっと興奮しますよね

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

 

以上です

 


参考

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

ふたご


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

ふたご

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

 

   話だけ聞いてみる