CSS3轻量级立体式3D旋转动画效果
CSS3轻量级立体式3D旋转动画效果

点击查看演示
一、案例分析
1、立体式3D旋转--perspective: 1200px;结合transform-style: preserve-3d;一起使用。。
2、鼠标悬停到图片上,沿着Y轴旋转180度--transform: rotateY(0.5turn);。
3、图片反正,背景逐渐变成变色,文字清晰。
4、使用伪类.flip-3d figure::after,在图片的下方,制作一个压扁的椭圆图形。
二、HTML源代码
<div class="wrap"> <div class="flip-3d"> <figure> <img src="img/1.jpg" alt=""> <figcaption>tom</figcaption> </figure> </div> <div class="flip-3d"> <figure> <img src="img/2.jpg" alt=""> <figcaption>mouse</figcaption> </figure> </div> <div class="flip-3d"> <figure> <img src="img/3.jpg" alt=""> <figcaption>elva</figcaption> </figure> </div> </div>
三、CSS源代码
<style>
*{
margin: 0;
padding: 0;
}
body{
background: #efefef;
}
.wrap{
width: 1000px;
overflow: hidden;
margin: 0 auto;
}
.flip-3d{
width: 33%;
float: left;
perspective: 1200px;
}
.flip-3d figure{
font-size: 1.6rem;
margin: 25px;
position: relative;
transform-style: preserve-3d;
transition: 1s transform;
}
.flip-3d:hover figure{
transform: rotateY(0.5turn);
}
.flip-3d figure img{
width: 100%;
height: auto;
}
.flip-3d figure figcaption{
width: 100%;
height: 100%;
background: rgba(255,255,255,0.9);
position: absolute;
top: 0;
text-align: center;
padding-top: 45%;
transform: rotateY(0.5turn) translateZ(1px);
opacity: 0.6;
transition: 1s 0.5s opacity;
}
.flip-3d:hover figure figcaption{
opacity: 1;
}
.flip-3d figure::after{
content: '';
display: block;
width: 100%;
height: 8vw;
transform: rotateX(90deg);
background-image: radial-gradient(ellipse closest-side, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 100%);
}
@media screen and (max-width:800px) {
.flip-3d{
perspective-origin: center top;
}
.flip-3d figure{
width: 50%;
margin: 0 auto;
margin-bottom: 12vw;
}
.flip-3d figure figcaption{
font-size: 0.8rem;
}
.flip-3d figure:last-child{
display: none;
}
}
</style>
吐槽一下


还没有留言,还不快点抢沙发?