CSS3 の transform 属性を使用して div を反転しようとしましたが、Firefox で適切にレンダリングされません。
デモはこちら: http://jsfiddle.net/6zyzu/5/
赤い四角の上にマウスを置き、問題を確認してください。
(Firefox で赤い四角を回転させている間、赤い四角の背面のテキストは前の四角 (青) の下に隠れ、回転アニメーションが終了するとすぐに、テキストは青い四角の上にジャンプします)。
以下のコード:
HTML:
<div></div>
<div id="s1" class="flip-container">
<div class="flipper">
<div class="front"><p>front</p></div>
<div class="back"><p>back</p></div>
</div>
</div>
<div id="s2" class="flip-container">
<div class="flipper">
<div class="front"><p>hello</p></div>
<div class="back"><p>world</p></div>
</div>
</div>
CSS:
div { height:200px; width:200px; float:left; margin-right:20px; }
#s2 .front { background-color:#f00; }
#s2 .back { background-color:#0f0; }
#s1 .front { background-color:#00f; }
#s1 .back { background-color:#0ff; }
.flip-container { perspective: 1000; -webkit-perspective: 1000; -moz-perspective: 1000; }
/* flip the pane when hovered */
.flip-container:hover .flipper, .flip-container.hover .flipper {
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
transform: rotateY(180deg);
filter: FlipH;
-ms-filter: "FlipH";
}
/* flip speed goes here */
.flipper {
-webkit-transition: 0.6s;
-webkit-transform-style: preserve-3d;
-moz-transition: 0.6s;
-moz-transform-style: preserve-3d;
transition: 0.6s;
transform-style: preserve-3d;
}
/* hide back of pane during swap */
.front, .back {
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
position: absolute;
top: 0;
left: 0;
}
/* front pane, placed above back */
.front { z-index: 2; }
/* back, initially hidden pane */
.back {
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
transform: rotateY(180deg);
width: 300px;
height: 180px;
}