Из того, что я понимаю, вы не можете делать то, что вы делаете, как вы это описали.
Однако я бы сделал так, чтобы «тег» отображался как блок, и устанавливал ширину и высоту, чтобы заполнить «LI», таким образом, вы можете использовать: hover и изменять целое значение bg, чтобы оно выглядело как LI. меняется
li a {
background:#000 url(images/bg.png) no-repeat 0 0;
display:block;
height:20px;
width:100px;
}
li a:hover {
background:#fff url(images/bg.png) no-repeat 0 -20px;
}
также используйте некоторые отступы, чтобы разместить текст в нужном месте внутри «LI» и удалите все отступы из «LI»
li: hover не поддерживается без JS в более старых версиях IE, поэтому использование вместо него: hover обеспечивает лучшую совместимость с браузерами