Superfish jQuery プラグインを使用して、Web サイトのドロップダウン メニューを拡張しようとしています。ただし、Firefox ブラウザー (v. 21.0) でカーソルを置いたときにドロップダウン メニューが開きません。Chrome と Opera では動作します。Superfish プラグインがない場合、ドロップダウン メニューはプレーンな CSS を使用する Firefox でも機能します。
Superfishのオプションを使用するcssArrows
と、どのブラウザーでも矢印が表示されません (さらにパディングを使用している場合でも)。この問題が最初の問題に関連しているかどうかはわかりません。
ここに私のマークアップがあります:
<nav>
<ul>
<li><a href="#">Page 1</a></li>
<li>
<a href="#">Page 2</a>
<ul>
<li><a href="#">Page 2.1</a></li>
<li><a href="#">Page 2.2</a></li>
<li><a href="#">Page 2.3</a></li>
</ul>
</li>
<li><a href="#">Page 3</a></li>
<li><a href="#">Page 4</a></li>
<li><a href="#">Page 5</a></li>
</ul>
</nav>
そして、ここに私のCSS/SASSがあります:
nav {
width: 100%;
float: left;
ul {
display: block;
float: left;
width: 100%;
li {
position: relative;
display: block;
float: left;
a {
display: block;
padding: 14px 14px;
}
/* drop-down */
ul {
display: none;
position: absolute;
left: 0;
top: 100%;
padding: 0;
border: 1px solid #aaa;
border-top-width: 0;
li {
float: none;
a {
padding: 8px 3px;
border-top: 1px solid #aaa;
}
}
}
&:hover,
&.sfHover {
ul {
display: block;
}
}
}
}
}
これが私のスーパーフィッシュコールです:
$('nav').superfish();
Firefox でli
、第 2 レベルのメニューを保持するタグにカーソルを合わせると、クラスがli
取得されません。sfHover
代わりに、最上位ul
にsfHover
クラスが割り当てられます。次に、そのタグでマウスの左ボタンを押すli
と、「sfHover」タグが取得され、ドロップダウン メニューが表示されます。Chrome と OperasfHover
クラスでは、適切な要素に割り当てられます。
Superfish プラグインのサイトの例は、私の Firefox ブラウザーでも機能しますが、これを解決するのには役立ちませんでした。メニューの HTML マークアップは、これらの例とほぼ同じです。
私はしようとした
- z インデックスをさまざまな要素に割り当てますが、役に立ちませんでした (期待していませんでした)。現在、ページ上のどの要素にも z-index が割り当てられていません。
- 問題のある状況で役立つことを読んだので
li
、要素に幅を割り当てます。a
- Superfish の例のスタイルシートを使用しましたが、うまく機能しませんでした。
margin-left: -9999px
の代わりに ドロップダウンメニューを非表示にしますdisplay: none
が、それは役に立ちませんでした。- Superfish の初期化時にすべてのオプションを使用する
- タグの代わりにタグ
position: relative
で使用するa
li
また、html が有効であることも確認しました。
誰が問題が何であるかを理解できますか?提案をいただければ幸いです。