我正在按照CSS3教程提供cardflip功能。
当用户悬停或触摸图像时,我希望图像翻转并显示第二张图像。
到目前为止,我有:
/* entire container, keeps perspective */
.flip-container {
perspective: 1000;
}
/* flip the pane when hovered */
.flip-container:hover .flipper {
transform: rotateY(180deg);
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
-o-transform: rotateY(180deg);
}
.flip-container, .front, .back {
width: 300px;
height: 300px;
}
/* flip speed goes here */
.flipper {
transition: 0.6s;
transform-style: preserve-3d;
position: relative;
}
/* hide back of pane during swap */
.front, .back {
backface-visibility: hidden;
-webkit-backface-visibility:hidden; /* Chrome and Safari */
-moz-backface-visibility:hidden; /* Firefox */
-ms-backface-visibility:hidden; /* Internet Explorer */
position: absolute;
top: 0;
left: 0;
}
/* front pane, placed above back */
.front {
z-index: 2;
}
/* back, initially hidden pane */
.back {
transform: rotateY(180deg);
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
-o-transform: rotateY(180deg);
}
问题是,尽管我设置了backface-visibility: hidden;
,但前面的图像仍显示图像,但是相反。图2无处可见!
答案 0 :(得分:3)
除-webkit-transform-style: preserve-3d;
之外添加transform-style: preserve-3d;
。它现在应该工作。
我想您也想使用-webkit-perspective
,因为您只使用了perspective
。
所以,它只是一个前缀问题。如果您想支持它们,您应该添加-moz
和-o
。