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で使用するali
また、html が有効であることも確認しました。
誰が問題が何であるかを理解できますか?提案をいただければ幸いです。