纯CSS3鼠标hover图片3D透视效果

这是一款使用纯CSS3制作的鼠标hover图片3D透视动画效果。该透视动画使用transform来完成炫酷的hover效果。

使用方法

在页面中引入style.css文件。

<link rel="stylesheet" href="css/style.css" type="text/css" />
                
HTML结构

该鼠标hover图片3D透视动画效果的基本HTML结构如下:

<div class="blocks">
  <div class="block">
    <div class="overlay">
      <img src="img/video-play-icon.png" alt="Play" />
    </div>
    <img src="img/computergraphics-album-covers-2014-15.jpg" alt="Image" />
  </div>

  <div class="block">
    <div class="overlay">
      <img src="img/video-play-icon.png" alt="Play" />
    </div>
    <img src="img/Octoberrust.jpg" alt="Image" />
  </div>

  <div class="block">
    <div class="overlay">
      <img src="img/video-play-icon.png" alt="Play" />
    </div>
    <img src="img/Disclosure-Holding-On-ft-Gregory-Porter.jpg" alt="Image" />
  </div>

  <div class="block">
    <div class="overlay">
      <img src="img/video-play-icon.png" alt="Play" />
    </div>
    <img src="img/chance-the-rapper-best-artwork.jpg" alt="Image" />
  </div>
</div>
                
CSS样式

实现该特效的CSS代码非常简单,如下:

body .blocks {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
body .blocks .block {
  position: relative;
  display: block;
  width: 200px;
  height: 200px;
  margin: 20px;
  -webkit-transform: perspective(600px) rotateY(-30deg);
          transform: perspective(600px) rotateY(-30deg);
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}
body .blocks .block img {
  width: auto;
  max-width: 100%;
}
body .blocks .block .overlay {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}
body .blocks .block .overlay img {
  width: auto;
  max-width: 50%;
}
body .blocks .block.hover, body .blocks .block:hover {
  -webkit-transform: rotateY(0);
          transform: rotateY(0);
  cursor: pointer;
}
body .blocks .block.hover .overlay, body .blocks .block:hover .overlay {
  opacity: 1;
}  
                

在线预览    源码下载

爱编程-编程爱好者经验分享平台
版权所有 爱编程 © Copyright 2012. All Rights Reserved.
闽ICP备12017094号-3