2011-08-09 5 views
1

私は以下のよく知られているCSSコードを使用してウェブページにドロップダウンメニューを表示しています。タッチデバイスのためのホバー

div#menu ul ul { 
    display: none; 
} 
div#menu ul li:hover ul { 
    display: block; 
} 

このメニューは、別のu-listを含むu-listです。マウスがこのメニューのリスト項目の上に移動すると、2番目のu-listが表示されます。リスト項目はリンクなし、テキストのみです。

これは最新のブラウザで機能します。私はIE6のjavascriptの偽造があります。

ただし、タッチデバイスでは機能しません。

IPadでは、リスト項目を押しても何も起こりません。これはおそらく、リスト項目がアンカーではないためです。あるいは、私はそれを修正するためにクリックイベントが必要です。

Androidブラウザでは、リスト項目を長く押すとサブメニューが開きます。ただし、サブメニューのリンクを選択することはできません。

誰でも手伝ってもらえますか?

は場合は、あなたが詳細を必要とする(と時間を持っている)、

http://www.rene-grothmann.de/musica-aliter-test/

感謝を見てください。

+0

私はいくつかのJavascriptを使用し、メニューをタッチして表示することをお勧めします。ホバーメニューは、タッチデバイスで不必要に使用することは困難です。 –

答えて

0

は、このようなあなたのリストの要素を入れ子にしてみてください。

<ul> 
    <li><a href="#">LINK</a> 
     <ul> 
     <li><a href="#">LINK</a></li> 
     <li><a href="#">LINK</a></li> 
     <li><a href="#">LINK</a></li> 
     <li><a href="#">LINK</a></li> 
     </ul> 
    </li> 
    <li> 
    more links here, if you wish. 
    </li> 
</ul> 

ホバー状態に問題があってはなりません。どのデバイスでも正常に動作するはずです。さて、それが私のためにどのように機能するのでしょうか?

+0

ええ、これはもっと標準的な方法を知りたいのですが、正しい動作を得るためにリスト項目をリンクにしなければならないのは奇妙に聞こえます。見つけたら、ここに投稿します。ありがとう。 – Rene

3

は、ホバー状態をサポートしていないため、タッチデバイスで応答するためにdiv#menu ul li:active ulになる必要があります。

+0

これは動作しません。デスクトップ上では、メニューは使用できなくなり、Androidではアクティブな状態では変なことが起こりますが、メニューを開くことはできません。 – Rene

+0

デスクトップ上では動作しません。私は、メディアクエリを追加してタッチデバイスをターゲットにする必要があると思います。 ':active 'は人の指が' ul'で触れられている間だけ動作しますので、メニューは開きません。 JavaScriptを使って 'display:'を 'display:block;'に変更することをお勧めします。 –

0

あなたのリストアイテムはリンクであるべきだと思います。少なくとも試してみるべきです。

+0

はい、私はそれを試みました。 Android上で動作します。私はIPadでテストすることはできません:-(しかし、Android上では、完全なページを(メニューを開いた状態で)リロードし、左上に戻すので、その解決策が気に入らない。 – Rene

関連する問題