ご存知のとおり、タッチ スクリーン テクノロジは :hover 動作をサポートしていません。したがって、 レスポンシブ Web サイトを作成するときは、いつ、どこで使用するかを慎重に検討する必要があります。 :ホバーインタラクション。一部のタッチ スクリーン デバイスでは、単純なリンクのホバー効果が失われます。 URL を開きます。ページが変更される前の短時間、:hover スタイルが表示されます。 iOS では、:hover がクリック イベントの前にアクティブ化されるため、
これらは軽微な問題であり、サイトの機能には影響しません。ここに、:hover があります。 表示または可視性 CSS プロパティを使用して、別の要素を表示または非表示にします。はい 本当の問題。
この問題を解決するには 2 つの方法があります。
JavaScript のないデバイス - CSS メディア クエリ関数を使用して修正できます。この機能をサポートするデバイス hover は「hover: hover」という条件で参照されます。そのようなデバイスにのみ次の CSS を追加します。 この条件とともにメディア クエリを使用することは保証されています。
これは、ホバーをサポートするデバイスにホバー効果を追加するだけであり、タッチ デバイスにはホバー効果はありません。存在する この場合、ボタンの上にマウスを置くと、ボタンの背景色が変わります。タッチデバイスには、 ホバー効果はないため、ボタンは元の状態のままです。
リーリー上記のコードは次の出力を生成します: これは非タッチ スクリーンでの結果です。
JavaScript を使用した 2 番目のステップ - このメソッドでは、次の JavaScript 関数を使用してチェックします。 タッチデバイスを使用するかどうか。ユーザーが要素に触れるたびに、 ontouchstart イベントの応答は true 値を返します。最大連続タッチ点数 デバイスがサポートする値は、navigator.maxTouchPoints.
によって返されます。 このデバイスでサポートされている機能は、navigator.maxTouchPoints によって返されます。navigator.msMaxTouchPoints では、ベンダー プレフィックス「ms」で同じ機能が利用可能です。 IE 10 以前のブラウザを対象としています。したがって、デバイスがタッチ機能をサポートしている場合、指定された 関数は true を返します。
リーリー
上記のコードは次の出力を生成します。これは非タッチ デバイスでの結果です。タッチ デバイスにはホバー効果がないため、ボタンは元の状態のままです。
以上がタッチデバイス上のボタンのスティッキーホバー効果を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。