翻转动画在Safari

时间:2015-06-01 19:03:04

标签: html css

我制作了一张动画个人资料图片,当它悬停在它上面翻转并显示背面。它在Firefox和Chrome中完美运行,但在Safari中无法运行。

它确实翻转,但图像变回前面但朝向相反的方向。

这是我在悬停在它上面后1秒看到的内容。 (这是正面,但水平翻转)

enter image description here

链接:http://www.ik-ben-zzp.nl/testsite/index.php

以下是个人资料图片的HTML CSS。

这是什么问题?

由于

聚苯乙烯。在Safari iPad上测试



.roundedImage {
	overflow:hidden;
	width: 200px;
	height:200px;
	margin-left: auto;
	margin-right: auto;
    -webkit-animation:pop-in 0.8s;
    -moz-animation:pop-in 0.8s;
    -ms-animation:pop-in 0.8s;

}

.flip-container {
	perspective: 1000;
	z-index:3;
	margin-bottom:200px;
}
	
	.flip-container:hover .flipper, .flip-container.hover .flipper {
		transform: rotateY(180deg);
		-webkit-transform: rotateY(180deg);
   		-ms-transform: rotateY(180deg);
	}

.flip-container, .front, .back {
	width: 200px;
	height: 200px;
	margin-left:auto;
	margin-right:auto;
	
}


.flipper {
  transition: 0.6s;
  -webkit-transition: 0.6s;
  -ms-transition: 0.6s;
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;	
}


.front, .back {
	backface-visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
}


.front {
	transform: rotateY(0deg);
	-webkit-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
}


.back {
	transform: rotateY(180deg);
	-webkit-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
	}
	
.front div, .back div {
    -moz-border-radius: 100px;
    -webkit-border-radius: 100px;
    border-radius: 100px;
	-webkit-animation:pop-in 0.8s;
    -moz-animation:pop-in 0.8s;
    -ms-animation:pop-in 0.8s;
	border: 4px solid white;
}

<div class="flip-container" ontouchstart="this.classList.toggle('hover')">

<div class="roundedImage">

<div class="flipper">

<div class="front">
<div style="background: url(Images/ProfileFront.jpg); height:200px; background-size: cover;"></div>
</div>

<div class="back">
<div style="background:url(Images/ProfileBack.jpg); height:200px; background-size:cover;"></div>
</div>

</div>	<!--FLIPPER-->
</div>	<!-- ROUNDED IMAGE -->
</div> 	<!-- FLIP CONTAINER -->
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

将-webkit-前缀添加到所有必需的css属性。你错过了'背面能见度'。

答案 1 :(得分:0)

删除ontouchstart =“this.classList.toggle('hover');”在你的所有div的HTML中,并添加到下面的JavaScript。您可以评论'return false',如果您在'front'或'返回工作'的div中有任何服务器端可点击的项目

$('.flip-container').click(function(){
    $(this).find('.flipper').addClass('hover').mouseleave(function(){
        $(this).removeClass('hover');
    });
    return false;
});