次のシナリオでは、コンテナ内に CSS3 3D 変換が適用された 2 つの div が表示されます。どちらも、クリックされたときにイベントを発生させる必要があります。この場合、クリックされた div を示すアラートが表示されます。
<!DOCTYPE html>
<html>
<body>
<div style="-webkit-perspective: 600; -webkit-transform-style: preserve-3d; width: 500px; height: 200px; overflow: hidden;">
<div onclick="alert('1');" style="-webkit-transform: translate3d(0px, 0px, -100px); background-color: blue; position: absolute; width: 100px; height: 100px;">
</div>
<div onclick="alert('2');" style="-webkit-transform: translate3d(200px, 0px, 100px); background-color: red; position: absolute; width: 100px; height: 100px;">
</div>
</div>
</body>
</html>
問題は、2 番目の div のみが目的の動作を示すことです。最初の div をクリックしても、表示されたアラートが表示されません (最新の Safari、Chrome、および Safari iOS でテスト済み)。
負の z 値を -100px から 0px または正の値に変更するとすぐに、すべて正常に動作します。
これはブラウザのバグですか?そして、望ましい動作を達成する方法はありますか?