【发布时间】:2015-09-24 14:33:21
【问题描述】:
这是一个简单的水平翻转动画-http://jsfiddle.net/vntajmgh/2/
我看到了 2 个问题:
在 chrome 中打开网址。将鼠标悬停在红色 div 上。翻转没问题,但是后面的div(蓝色)的背景色没有应用。
在 Firefox 中打开网址。翻转就像卡住了。我有时可以看到蓝色的背面 div。
我猜它在这里“卡住”了,因为高度是 100vh,当它减小时可以正常工作,但它不应该也适用于全高度吗?
.flip-container {
width: 150px;
height: 100vh;
perspective: 800px;
color: #fff;
position: relative;
}
.flipper {
width: 100%;
height: 100%;
position: absolute;
transform-style: preserve-3d;
transition: transform linear 0.6s;
}
.flipper div {
margin: 0;
display: block;
position: absolute;
width: 100%;
height: 100%;
backface-visibility: hidden;
}
.flipper .front {
background: red;
}
.flipper div:after {
content:"";
display: block;
position: absolute;
top: 0;
left: 0;
background-image: url("http://www.transparenttextures.com/patterns/3px-tile.png");
width: 100%;
height: 100%;
opacity: 0.5;
z-index: 1;
}
.flipper .back {
background: blue;
transform: rotateY(180deg);
}
.flipper:hover {
transform: rotateY(180deg);
}
<div class="flip-container">
<div class="flipper">
<div id="1front" class="front">1-front</div>
<div id="1back" class="back">1-back</div>
</div>
</div>
更新: 这是工作小提琴 - http://jsfiddle.net/gf3g8sz1/1/
【问题讨论】:
-
我认为动画会“卡住”,因为当 div 变窄时,鼠标不再悬停在元素上(在 Firefox 中)。如果我用鼠标(从左到右)跟随动画,它就可以工作。
标签: css