Я пытаюсь использовать плагин jQuery Superfish для улучшения раскрывающегося меню на сайт. Однако раскрывающееся меню не открывается при наведении курсора на него в браузере Firefox (версия 21.0), как должно. В Chrome и Opera все работает. Без плагина Superfish раскрывающееся меню работает также в Firefox с простым CSS.
При использовании параметра 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-индекс.
- назначать ширину для элементов
li
иa
, поскольку я читал, что это помогло в некоторых проблемных ситуациях. - используйте таблицы стилей из примеров Superfish, но они не работают лучше.
- скрыть раскрывающееся меню с
margin-left: -9999px
вместоdisplay: none
, но это не помогло. - использовать все параметры при инициализации Superfish
- используйте
position: relative
в тегахa
вместо теговli
Я также проверил, что мой html проверяет.
Кто-нибудь может разобраться в чем проблема? Буду очень признателен за любые предложения.