这是一款使用CSS3制作的炫酷鼠标滑过图片动画特效。该特效中,当鼠标滑过图片时,图片会向上3D翻转并渐隐消失,图片原来的位置出现介绍文字和一些链接,整个效果非常炫酷。
使用方法
HTML结构
该鼠标滑过图片动画效果的HTML结构使用Bootstrap来布局,布局非常简单:
<div class="container"> <div class="row"> <div class="col-md-4 col-sm-6"> <div class="box"> <img src="images/1.jpg" alt=""> <div class="over-layer"> <h3 class="title">Web designer</h3> <p class="description">描述文字...</p> <ul class="social-links"> <li><a href="#" class="fa fa-download"></a></li> <li><a href="#" class="fa fa-link"></a></li> <li><a href="#" class="fa fa-search"></a></li> </ul> </div> </div> </div> </div> </div>
CSS样式
一幅图片和它的描述文本都包裹在一个div.box
容器中,为容器设置透视效果。
.box{ position: relative; perspective: 1000px; }
图片开始时透明度为1,宽度为100%容器宽度,高度自适应,并设置ease-in-out
的动画过渡效果。
.box img{ width: 100%; height: auto; opacity:1; transform: translateY(0) rotateX(0); transition: all 0.6s ease-in-out 0s; }
在鼠标滑过图片的时候,图片沿Y轴移动-100%(即向上移动,移动距离为图片的高度),并沿X轴旋转90度,由于设置了旋转的中心为图片的底部,所以得到的效果为图片向上并翻转的效果。
box:hover img{ transform: translateY(-100%) rotateX(90deg); transform-origin: center bottom 0; opacity:0; }
图片的文字层开始使透明度为0,定位方式使用绝对定位,宽度和高度都为100%容器宽度和高度,同样设置ease-in-out
的动画过渡效果。
.box .over-layer{ position: absolute; top:0; left:0; width:100%; height:100%; opacity:0; background:#333d4b; text-align:center; padding: 0 20px; transition: all 0.60s ease-in-out 0s; }
在鼠标滑过时,它的透明度被设置为1。
.box:hover .over-layer{ opacity:1; }
完整的CSS样式代码请参考下载文件。