我已经创建了这张翻转卡,但我想知道是否可以在翻转时添加CSS螺旋效果,或者像扭曲图像一样添加效果。
这里我有翻转卡演示 http://jsfiddle.net/7k1sf8qk/
这是我的CSS代码
.flip-container {
-webkit-perspective: 1000;
-moz-perspective: 1000;
-o-perspective: 1000;
perspective: 1000;
}
.flip-container, .front, .back {
width: 970px;
height: 250px;
}
.flipper {
-moz-transform: perspective(1000px);
-moz-transform-style: preserve-3d;
position: relative;
}
.front, .back {
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transition: 0.6s;
-webkit-transform-style: preserve-3d;
-moz-transition: 0.6s;
-moz-transform-style: preserve-3d;
-o-transition: 0.6s;
-o-transform-style: preserve-3d;
-ms-transition: 0.6s;
-ms-transform-style: preserve-3d;
transition: 0.6s;
transform-style: preserve-3d;
position: absolute;
top: 0;
left: 0;
}
.back {
-webkit-transform: rotateX(-180deg);
-moz-transform: rotateX(-180deg);
-o-transform: rotateX(-180deg);
-ms-transform: rotateX(-180deg);
transform: rotateX(-180deg);
}
.flip-container:hover .back, .flip-container.hover .back {
-webkit-transform: rotateX(0deg);
-moz-transform: rotateX(0deg);
-o-transform: rotateX(0deg);
-ms-transform: rotateX(0deg);
transform: rotateX(0deg);
}
.flip-container:hover .front, .flip-container.hover .front {
-webkit-transform: rotateX(180deg);
-moz-transform: rotateX(180deg);
-o-transform: rotateX(180deg);
transform: rotateX(180deg);
}
.front {
z-index: 2;
}
答案 0 :(得分:1)
很遗憾,您无法使用当前的标记重新创建此效果。
我建议将图像设置为大量设置高度HTML元素的背景,然后您可以设置内联样式以使用JavaScript来管理螺旋效果。
我已经制作了一个快速的代码,希望能够表明我的意思:
http://codepen.io/jazibobs/pen/wMvwKP
body {
background: #555;
}
ul {
background: #fff;
width: 600px;
height: 600px;
margin: 0 auto;
list-style: none;
padding: 0;
}
ul li {
background-image: url(http://placekitten.com/g/600/600);
height: 200px;
background-size: 100% auto;
-webkit-transition: -webkit-transform 2s ease;
transition: transform 2s ease;
}
ul li:nth-child(2) {
background-position: 0 -200px;
-webkit-transition-delay: 0.2s;
transition-delay: 0.2s;
}
ul li:nth-child(3) {
background-position: 0 -400px;
-webkit-transition-delay: 0.4s;
transition-delay: 0.4s;
}
ul:hover li {
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
}
<ul>
<li></li>
<li></li>
<li></li>
</ul>