Имейте в виду, что если вы хотите использовать класс :hover
для чего-либо, кроме тега привязки, не забудьте заставить его работать в IE6 и убедитесь, что у вас есть правильный DOCTYPE
для других браузеров.
Попробуйте заменить соответствующие части вашего CSS следующим:
li
{
display: inline;
}
ul.level_1 li
{
position: relative;
}
ul.level_1 ul
{
position: absolute;
visibility: hidden;
}
li:hover ul
{
position: absolute;
right: 0;
visibility: visible;
width: 300px;
}
В основном скрывает список подуровней, пока вы не наведете курсор на узел элемента родительского списка.
Установка узлов родительского элемента списка как position:relative
означает, что если вы установите какие-либо дочерние узлы в качестве position:absolute
, они будут установлены относительно окна браузера, а не элемента родительского списка. Это позволит им отображаться непосредственно под элементом списка, над которым вы наводите курсор, а не по другую сторону окна.
Добавлена ширина, чтобы список подуровней отображался в виде строки вместо столбца.