这是一款效果非常炫酷的jQuery和CSS3鼠标滑过3D卡片翻转特效。该卡片翻转特效使用modernizr.js来检测浏览器,当发现浏览器不支持CSS3翻转属性时,会将效果回退为简单的滑动显示效果。
制作方法
属性要引入jQuery和modernizr.min.js和jquery.easing.min.js文件。
<script src="js/modernizr.min.js"></script>
<script src="js/jquery.min.js"></script>
<script src="js/jquery.easing.min.js"></script>
HTML结构
该卡片翻转效果的HTML结构采用类似图片画廊的HTML结构:
<div class="artGroup slide">
<div class="artwork"> <img src="1.jpg">
<div class="detail">
<h3>Title</h3>
<p>Details...</p>
</div>
</div>
</div>
CSS样式
为它添加一些必要的CSS样式:
.artGroup {
display: block;
width: 200px;
height: 200px;
position: relative;
margin: 0 10px 10px 10px;
float: left;
}
.artwork {
display: block;
width: 100%;
height: 100%;
}
.artGroup img {
width: 100%;
height: 100%;
position: absolute;
display: block;
border: 1px solid #333;
}
.artGroup .detail {
display: block;
background: #fff;
width: 100%;
height: 100%;
position: absolute;
}
.artGroup .detail h3 {
text-align: center;
color: orange;
}
.artGroup .detail p {
text-align: left;
padding: 0 0.25em;
}
下面是使用CSS3来制作卡片翻转的效果:
.artGroup.flip {
-webkit-perspective: 800px;
perspective: 800px;
}
.artGroup.flip .artwork {
-webkit-transition: -webkit-transform 1s ease;
transition: transform 1s ease;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
}
.artGroup.flip .detail,
.artGroup.flip .theFlip {
-webkit-transform: rotateY(-180deg);
transform: rotateY(-180deg);
}
.artGroup.flip img,
.artGroup.flip .detail {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
在旧浏览器中,使用下面的CSS来简单实现滑动效果。
.artGroup.slide { overflow: hidden; }
.artGroup.slide .detail { bottom: -364px; }
JAVASCRIPT
该卡片翻转特效使用jQuery来为相应的元素添加和删除相应的class,完成卡片翻转的效果。
$(function () {
if ( $('html').hasClass('csstransforms3d') ) {
$('.artGroup').removeClass('slide').addClass('flip');
$('.artGroup.flip').on('mouseenter',
function () {
$(this).find('.artwork').addClass('theFlip');
});
$('.artGroup.flip').on('mouseleave',
function () {
$(this).find('.artwork').removeClass('theFlip');
});
} else {
$('.artGroup').on('mouseenter',
function () {
$(this).find('.detail').stop().animate({bottom:0}, 500, 'easeOutCubic');
});
$('.artGroup').on('mouseleave',
function () {
$(this).find('.detail').stop().animate({bottom: ($(this).height() + -1) }, 500, 'easeOutCubic');
});
}
});
版权声明
版权说明: 仅限用于学习和研究目的;不得将上述内容用于商业和非法用途!否则一切后果自负。我们非常重视版权问题,如有侵权请邮件至(171373236#qq.com)与我们联系处理,敬请谅解!





















