スマホで:hoverが反応しない時の対処法

スマホでマウスオーバーエフェクトが反応しない場合の対処






スマートフォンだと:hover擬似クラスを使ったマウスオーバーエフェクトが反応しない!なんて事ありませんか?

実は、普通にCSSの:hover:activeにスタイルを設定してもスマホでは適用されないんですね。
とは言え、PCよりもスマホでのアクセスが多いモバイルファーストの時代なので、スマホでもマウスオーバーエフェクトを実装したいですよね。

結論! ontouchstart属性を追加するだけ


結論から言うと、:hover擬似クラスを適用させたい要素に ontouchstart属性を追加するだけで、スマホでもマウスオーバーエフェクトが実装できます。

ontouchstart属性のプロパティは空でOKです。

ちなみに、bodyタグにontouchstart属性を追加しておけば、ページ内の全ての要素に対してマウスオーバーエフェクトが適用できます。
個別の要素に属性を追加する必要がないので、要素を後から追加する場合でも安心です。

以下は要素にontouchstart属性を追加したサンプルです。PCではいまいちわかりにくいと思いますが、スマホでもhoverエフェクトが適用されています。

スマホでもhoverエフェクト

まとめ

冒頭にも書いていますが、PCよりもスマホでの閲覧が増えているので、以前に増してスマホでのユーザビリティを考慮したサイト作りが大切になっています。
スマホの画面をタッチして何も反応がないと、ユーザーも不安になると思うので、やっぱりスマホでもhoverエフェクトは必要だと思います。

「スマホでマウスオーバーエフェクトが反応しない時の対処法」でした。

マウスオーバーでふわっと切りかえる

コピペで簡単!背景色や文字色をマウスオーバーでふわっと切り変える方法

2017年10月9日
Hover.css

複雑なマウスオーバーエフェクトが3分で実装可能な「Hover.css」が便利

2018年6月21日






スマホでマウスオーバーエフェクトが反応しない場合の対処