テスト<div>として を円として表示させてみました。には<div>テキストが含まれていますが、それ以外は空です。
次に、JavaScript で と を計算しoffsetWidth、offsetHeight2 つの最大値を使用して、という名前の変数に割り当てますdiameter(ただし、現実的には、幅は常により大きくなります)。幅、高さ、borderRadiusdiameterを割り当てるために使用します。<div>結果は、円のように見えます (少なくとも Chrome、Firefox、Opera、および Safari では。IE はテストしていません)。
Chrome、Firefox、Opera、および Safari でのテストでは、カーソルが円の領域のすぐ外側にあり、設定されていない場合に表示される長方形の領域の内側にある場合、 CSShoverと JavaScriptの動作が異なることに気付きました。onmousedownborder-radius
カーソルがその場所にあるときの結果は次のとおりです。
- Chrome:
hoverおよびonmousedown円の外側で影響を受ける - Firefox:円内のみ影響を
hover受けるonmousedown - Opera:
hoverおよびonmousedown影響を受けるサークル外 - Safari:
hoverおよびonmousedown円の外側で影響を受ける
Firefox の動作は、一貫して使用したいものです。これを可能にする方法はありますか?
編集:解決策が見つかった場合は、使用しているブラウザを説明してください。