2

ここに新しいウェブサイトを作成しました www.worthingleisure.co.uk/splashpoint

上部に CSS のみのメニューがあり、適切な表示と非表示を指定して li:hover ul メソッドを使用することで、iPad、iPhone、およびその他のタッチ ベースのデバイスで動作します。

ただし、たとえば施設をタップすると、リンクをたどり、施設ページをロードするときにメニューが表示されるのは一瞬だけです。反撃すると、メニューが正常に表示されます。これは以前は正常に機能していたと確信していますが、現在は機能しなくなりました。

私は空白を描き、「1回のタップ」でメニューが開き、「2回目のタップ」でハイパーリンクのURLをたどり、他の場所で提案されているように「onclick = 'return false'」をliアイテムに入れるなど、空白を描画するためにあらゆることを試みました.

私はこれを午前中ずっと調べていて、答えを見つけることができませんでしたが、他のCSSのみのメニューは完全に正常に機能し、それらと私たちの違いを理解することはできません.

どうもありがとう、ヴィッキー

4

4 に答える 4

1

わかりましたので、それは他の人が言ったことの一種の集大成です。iPadでもホバーエフェクトはできますが、状況によります。あなたのもので機能しない理由は、施設メニュー項目もリンクであるためです. したがって、それを押すと、ホバーとクリックが発生します (これが、ページに戻ったときに表示される理由です)。

施設がスパンであり、それでも正しい CSS ホバーがある場合は、それをヒットしていてもリンクをヒットしていないため、機能します。

他の人が示唆しているように、おそらくこれらの親カテゴリのリンクを保持したいので、Javascript/jQuery を使用してデフォルト アクションを抑制したいと考えています (ただし、タッチ イベント デバイスの場合のみです。ねずみ)。

于 2013-04-12T16:14:57.367 に答える
0

ここに解決策(クリックとホバーイベント間の遅延時間の違いを検出することを含む)を投稿しました:css / jqueryのモバイル(タッチ)デバイスフレンドリードロップダウンメニュー

于 2013-07-17T20:11:43.973 に答える
0

私も同じ問題を抱えていました。:hoverこのページは、iOS が状態をどのように扱うかについて、いくつかのことを説明するのに役立ちました。

http://www.nczonline.net/blog/2012/07/05/ios-has-a-hover-problem/

基本的に、:hoverルールが子要素のdisplayまたはvisibilityを変更すると、iOS はリンクをすぐにロードする代わりに、ホバー状態をトリガーします。

また、ホバー状態に CSS トランジションが含まれる場合、iOS はホバー状態で一時停止するのではなく、すぐにリンクを読み込むことにも気付きました。そのため、ボディに条件付きでクラスを適用して、 iOS のトランジションを無効にする必要がありました...

.ios .nav li ul {
    -webkit-transition: none;
    transition: none;
}
于 2013-08-23T07:49:02.517 に答える