本題
タイトル通りではあるのですが大多数がどうでもいいと思うかもしれませんが見るたびに気になっていることについて書きます。
「細かいことが気になってしまう悪い癖」ってやつです。
気になるボタンの例
https://codepen.io/totoraj930/pen/xQVYOB/
:hover をトリガーにして transform でアニメーションさせるよくあるボタンだと思います。
何が気になるのかは下の gif をみてもらえればわかるかと・・・
- :hover されてボタンが動く
- ボタンが動いたことでマウスポインタがボタン外に出る
- :hover がはずれて初期位置に戻る
といったことがループするのが気になる!!!ってことです。
特定の位置にマウスポインタがある場合のみ起こる事ではあるのですが気になりませんか?
僕は気になります。
解決策
https://codepen.io/totoraj930/pen/JeXMOZ/
button
のなかにspan
要素をいれて、button
の:hover でspan
をアニメーションさせます。
button
は:hover を拾うためだけのダミーで本体はspan
という状態ですね。
ですがbutton
の:hover だけだとアニメーション後のspan
の位置(button
の範囲外)にマウスポインタが行くと戻ってしまうので
span
の:hover も定義しておかないといけません。
おわりに
少々手間がかかりますが派手にボタンを動かすときなどでは有効な手法だと思います。
以上、細かいことが気になるはなしでした。