原理
- 两张图片层叠到一起,一张图片翻转0度,一张翻转180度(状态一)(定位布局)
- backface-visibility,设置图片翻转后隐藏
- perspective(父容器),增加3d透视
- 点击或悬浮事件,切换不同状态(状态二:两张图片皆翻转180度)
- transition,切换状态时,用过渡模拟翻牌效果
实现(简易版,未做兼容,可用Chrome测试)
<html>
<head>
<title>3D翻牌效果 </title>
<meta charset="UTF-8">
<style type="text/css">
.content {
position: relative;
margin: 150px 0 0 150px;
width: 225px;
height: 225px;
perspective: 800px;
}
.content div {
position: absolute;
left: 0;
height: 0;
width: 100%;
height: 100%;
color: #fff;
transition: .8s ease-in-out;
backface-visibility: hidden;
}
img {
width: 100%;
height: 100%;
}
.div1 {
transform: rotateY(0);
}
.div2 {
transform: rotateY(180deg