絶対配置、CSS 変換、および CSS トランジションに大きく依存する Web アプリを開発しています。
私のマークアップ:
<div class="wrapper">
<div class="background" ></div>
<div class="foreground" >
<div class="image" ></div>
</div>
</div>
私のCSS
.wrapper{
-webkit-perspective: 1600;
-webkit-perspective-origin-y: 30%;
height: 500px;
width: 100%;
}
.background{
position: absolute;
background-size: 100% 100%;
background-image: url("http://farm9.staticflickr.com/8321/8038059897_403c567211.jpg");
background-color: transparent;
position: absolute;
width: 100%;
height: 300px;
bottom: 0;
pointer-events: none;
-webkit-transform:translate3d(0px,0px,0px);
}
.foreground{
position: absolute;
top: 5%;
bottom: 5%;
left: 5%;
right: 5%;
-webkit-transform: rotateY(25deg);
}
.foreground .image{
background-image: url("http://farm7.staticflickr.com/6139/6198476123_754eaa1920_m.jpg");
position: absolute;
background-size: 100% 100%;
min-width: 100%;
min-height: 100%;
-webkit-transform:translate3d(0px,10px,0px);
}
http://jsfiddle.net/KjG3f/24/で実際に動作しているのを見ることができます
この例を Safari (デスクトップと iOS の両方) で見ると、前景の画像が背景によって切り取られていることがわかります。ただし、Chrome では正しく動作しているようです。
背景から translate3d() を削除すると、レンダリングが機能するように見えますが、アニメーションのために translate3d() が必要です。
助けてくれてありがとう。</p>