フラッシュを使用せずにクリック可能なアニメーション スプライトを作成しようとしています。クリック (またはタッチ) すると、ポップアップ バブルが表示されます。画面が再度クリックされると (アイコン、バブル、またはその両方の外側のどこでも)、画面を閉じる必要があります。問題は、クリック可能な領域がスプライトと一致しないことです。
Web ページは次のとおりです (Webkit を使用するブラウザーでのみ表示されるため、Safari、Chrome、または iOS または Android の既定のブラウザー)。
https://dl.dropbox.com/u/60354330/site/index.html
これらの各パイプのクリック可能な領域は、スプライトと同じサイズの領域ですが、蒸気が流れる側の外縁にあるコーナーを中心としています。
これを Safari 6 (Mac)、iOS 6、Android 4.0 のブラウザー、および Chrome (Windows 7 のバージョン 21?) でテストしましたが、これらのブラウザーのすべてで動作は同じです。
なぜそれが整列しないのか、またはそれを修正する方法について何か提案はありますか?
関連するコードはすべて index.html にあります。関連する抜粋は次のとおりです。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS sprite demo</title>
<style type="text/css">
.spipe {
position: absolute;
width: 1px;
height: 1px;
background: url(spipe.png) no-repeat 0 0;
background-size: 1px 20px;
-webkit-animation-name: spipe;
-webkit-animation-duration: 1.0s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-webkit-transform-origin: top left;
}
.left {
-webkit-transform: scale(100, 60);
}
</style>
</head>
<body>
<div id="toppipe" class="popup spipe left" style="top:120px;left:200px;" popupHTML="Hello, Top"></div>
</body>
</html>
そうしないと、フレームからフレームへとロールするため、縮小して元に戻します。
問題は、クリック可能な領域が div の残りの部分とは異なる原点から拡大されることのようですが、変換原点を別のもの、たとえば 50% 50% に変更しても、同じ量だけオフセットされます。div の翻訳は、クリック可能な領域と div の両方に同じ方法で適用されるため、問題の修正にも使用できません。