我正在使用CSS3转换属性创建'翻转'效果。
我在Chrome,Firefox和Safari的最新版本中运行良好,但我担心我很难为IE9和Opera构建某种后备,因为它们只支持2D变换。
我创建了一个小提琴来显示我目前正在使用的代码。
请在此处找到此链接:http://jsfiddle.net/montyhog/SaYUe/9/
我不一定试图在这些浏览器中重新创建效果,只需创建一个后备,当IMG1悬停时,IMG2会在顶部等淡入淡出。
这是HTML:
<div class="h1older">
<div class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front"><img src="http://www.hogshouse.com/fbtest/img/cdartwork/meds.png" /></div>
<div class="back"><img src="http://www.hogshouse.com/fbtest/img/cdartwork/back.png" /></div>
</div>
</div>
</div>
CSS:
.h1older {
width: 400px;
height: 400px;
border: 1px #ff00d5 dashed;
position: absolute;
top: 0px;
left: 0px;
}
.flip-container {
perspective: 1000;
-webkit-perspective: 1000;
-moz-perspective: 1000;
}
.flip-container:hover .flipper, .flip-container.hover .flipper {
transform: rotateY(180deg);
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
}
.flip-container:OnClickListener .flipper, .flip-container.OnClickListener .flipper {
transform: rotateY(180deg);
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
}
.flip-container:focus .flipper, .flip-container.focus .flipper {
transform: rotateY(180deg);
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
}
.flip-container, .front, .back {
width: 100%;
height: 100%;
}
.flipper {
transition: 0.6s;
-webkit-transition: 0.6s;
-moz-transition: 0.6s;
transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
position: relative;
}
.front, .back {
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
position: absolute;
top: 0;
left: 0;
}
.front {
z-index: 2;
background-color: #139eef;
}
.back {
transform: rotateY(180deg);
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
background-color: #ff0000;
}
.front img {
width: 100%;
}
.back img {
width: 100%;
}
答案 0 :(得分:0)
-o-tramsform:
和
-ms-transform:
过渡应适用于IE和Opera。为每次转换制作另外2个alt行。