Для начала ссылка должна быть внутри <li>
, так как <li>
является элементом уровня блока, тогда как <a>
является встроенным.
Кроме того, установка: hover на элементы, отличные от <a>
- хотя и поддерживается, например, в FF и т. Д., - по моему опыту, не совсем корректна при правильной работе и совсем не работает в старых IE.
Лично, если бы я писал HTML, это выглядело бы примерно так:
<ul id="menu">
<li id="menu-1-active"><a href="1">One</a></li>
<li id="menu-2"><a href="2">Two</a></li>
<li id="menu-3"><a href="3">Three</a></li>
<li id="menu-4"><a href="4">Four</a></li>
<li id="menu-5"><a href="5">Five</a></li>
<li id="menu-6"><a href="6">Six</a></li>
</ul>
И CSS будет выглядеть примерно так:
#menu{
width:107px;
height:200px;
}
#menu li{
padding: 0, 0, 5px;
}
#menu li a{
display: block;
text-indent: -999px;
height: 29px;
background: transparent, none, center, center, no-repeat;
}
#menu-1 a:link, #menu-1 a:visited { background-image: url(menu1.png); }
#menu-1 a:hover, #menu-1 a:active, #menu-1-active { background-image: url(menu1on.png); }
/** Continue on with your other links here... **/