Измените #nav > li a:hover
на #nav > li:hover a
в вашем CSS.
Поскольку скрытый ul
второго уровня отображается при наведении верхнего уровня li
, имеет смысл иметь a
верхнего уровня для одновременного получения стиля наведения. Когда вы наводите указатель мыши на ссылки меню второго уровня, a
по-прежнему выглядит активным. li:hover
применяется даже при наведении указателя мыши на дочерние элементы li
, даже если они расположены так, что выглядят так, как будто они находятся вне поля li
.