这是一款使用CSS3制作的炫酷鼠标滑过图片遮罩层动画特效。该特效中有2种不同的效果,均是咋is本滑过图片时,使用遮罩层的旋转和缩放来展示图片的描述信息。
使用方法
HTML结构
该特效使用bootstrap来进行布局,核心代码为使用一个div.box
作为容器,里面放置图片和一个遮罩层div.box-content
。
<div class="box"> <img src="img/1.jpg"> <div class="box-content"> <h3 class="title">图片名称</h3> <p class="description"> 描述信息... </p> <a class="read" href="#">Read More</a> </div> </div>
CSS样式
在第一个DEMO中,鼠标滑过图片的效果为图片线居中缩小,然后遮罩层在反向放大。其实现代码非常简单,主要使用transform属性来制作缩放和旋转,并通过transition来制作平滑过渡的动画效果。
.box{ background: #fff; box-shadow: 0 0 5px #bababa; text-align: center; overflow: hidden; position: relative; } .box img{ width: 100%; height: auto; transition: all 0.4s ease-in-out 0.2s; } .box:hover img{ transform: scale(0); transition-delay: 0s; } .box .box-content{ width: 100%; height: 100%; background: #425770; color: #fff; padding: 30px; position: absolute; top: 0; left: 0; opacity: 0; transform: scale(0) rotate(-180deg); transition: all 0.4s ease-in 0s; } .box:hover .box-content{ opacity: 1; transform: scale(1) rotate(0deg); transition-delay: 0.2s; } .box .title{ font-size: 20px; font-weight: 800; border-bottom: 1px solid #334a65; padding-bottom: 10px; margin-top: 0; text-transform: capitalize; } .box .description{ font-size: 13px; font-style: italic; line-height: 20px; margin-bottom: 30px; } .box .read{ display: inline-block; font-size: 14px; color: #fff; background: #132d4d; padding: 7px 20px; text-transform: capitalize; } @media only screen and (max-width: 990px){ .box{ margin-bottom: 20px; } } @media only screen and (max-width: 479px){ .box .box-content{ padding: 20px; } } @media only screen and (max-width: 359px){ .box .box-content{ padding: 10px; } }
第二个DEMO的实现代码请参考下载文件。