Я пытаюсь использовать плагин jQuery для расширения раскрывающегося меню на веб-сайте. Однако раскрывающееся меню не открывается, когда курсор наводится на него в браузере Firefox (версия 21.0), как и следовало ожидать. В Chrome и Opera он работает. Помимо плагина Superfish выпадающее меню работает также в Firefox с простым CSS.Почему мое меню Superfish не работает правильно в Firefox?
При использовании опции cssArrows
для Superfish стрелки не отображаются в любом браузере (даже при использовании большего количества дополнений). Я не знаю, связана ли эта проблема с первой.
Вот моя разметка:
<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;
}
}
}
}
}
Вот мой Superfish вызов:
$('nav').superfish();
В Firefox, когда я наведите курсор мыши на li
тег, который содержит меню второго уровня, li
не получает sfHover
класс должен произойти. Вместо этого верхний уровень ul
присваивает ему класс sfHover
. Затем, когда я нажимаю левую кнопку мыши на этом теге li
, он получает тег 'sfHover', и появляется раскрывающееся меню. В Chrome и Opera класс sfHover
присваивается правому элементу.
Примеры из сайта плагина Superfish также работают в моем браузере Firefox, но они не помогли мне решить эту проблему. Моя html-разметка для меню почти такая же, как в этих примерах.
Я пытался
- присваивания Z-индексов для различных элементов, но это не помогло (не ожидал). В настоящее время ни одному элементу на странице присвоен z-index.
- назначить ширины на
li
иa
элементах, так как я читал, что он имел , помогал в некоторых проблемных ситуациях. - используйте таблицы стилей из примеров Superfish, но они не работают лучше.
- скрыть раскрывающееся меню с
margin-left: -9999px
вместоdisplay: none
, но это не помогло. - использовать все опции при инициализации SUPERFISH
- использования
position: relative
наa
тегов, а не наli
тегов
Я также проверили, что мой HTML проверяет.
Может ли кто-нибудь выяснить, в чем проблема? Я бы очень признателен за любые предложения.
Можете ли вы добавить jsFiddle? – screenmutt
@screenmutt, я выбил скрипку: http://jsbin.com/okafoz/1/edit И в FF22 это было хорошо. –
Благодаря обоим. Сцена работает для меня тоже в FF21. Что еще может вызвать это? – typhon