解決済み- 問題は、回転を行うと要素の半分が Web ページのニュートラル (ゼロ) Z 軸の後ろに配置され、WebKit が明らかにその「ニュートラル」平面を通過するマウス イベントを許可しないことです。そのため、回転ポイントをパネルの右端/左端に変更すると解決しました。奇妙ですが、今のところ機能します。
4 つのパネルを持つ単純な HTML5/CSS3 ページがあります。これらのパネルは、-webkit-transform を使用して適切に配置されています。:hover では、-webkit-transform を使用してパネルを最前面に表示します。コードは以下です。
何が起こるかというと、:hover アクションが信頼できないということです。パネル上でマウスをスワイプすると、パネルの上にカーソルを置いたままマウスの移動を停止するのが一般的ですが、パネルは元の位置のままです。具体的には、左から右にスワイプすると、左端の 2 つのパネルは正常に動作しているように見えますが、右端の 2 つのパネルは、マウスがパネルの半分を横切るまで拡大されません。
これは何が原因でしょうか?
EDIT:簡単なフォローアップ、変換された要素に配置されたリンクは、要素の左端(2つの左パネルの場合)または右端(2つの右パネルの場合)の半分でのみクリック可能になるようです. つまり、クリック ゾーンは要素の「近い」半分に対してのみアクティブになります。
まず、HTML (最小限の例):
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="test.css" />
</head>
<body>
<section id="test">
<article class="tr_left"></article>
<article class="tr_midleft"></article>
<article class="tr_midright"></article>
<article class="tr_right"></article>
</section>
</body>
</html>
そしてCSS:
#test article {
display: inline-block;
height: 150px;
width: 160px;
background-color: blue;
-webkit-transition: -webkit-transform 0.2s ease;
}
#test article.tr_left {
-webkit-transform: perspective(400px) rotateY(20deg) scale(1);
}
#test article.tr_midleft {
-webkit-transform: perspective(400px) rotateY(8deg) scale(0.9);
}
#test article.tr_midright {
-webkit-transform: perspective(400px) rotateY(-8deg) scale(0.9);
}
#test article.tr_right {
-webkit-transform: perspective(400px) rotateY(-20deg) scale(1);
}
#test article:hover, #test article:active {
-webkit-transform: perspective(400px) scale(1.2);
}