Salve a tutti, sto cercando di inserire un'immagine nel mio menu partendo da un'immagine di background. Ovvero ho un'immagine sola con 10 icone (una sotto l'altra) e vorrei richiamare quella determinata icona per la voce di menu corrispondente.

il mio codice css è questo

codice:
#box_menu{
	float:left;
	width:100%;
	height:40px;
	background-color:#146aa5;
	margin: 10px 0 0 0;
}

#box_menu .badge-sport {
background-position: 0;
}
#box_menu .badge-montagna {
background-position: -40px;
}
#box_menu .badge {
top: 8px;
position:relative;
right: 40px;
width: 30px;
height:28px;
background: url(../immagini/icone-menu.png) 0 0 no-repeat;
}
.voce{
	font-family: 'Open Sans', sans-serif;
	font-size:12px;
	font-weight:bold;
	border-right: 1px dotted #ffffff;
	color:#ffffff;
	text-align:center;
	padding:0 10px 0 40px;
	line-height:40px;
	text-transform:uppercase;
}
.voce a{
	color:#ffffff;
	text-decoration:none;
}
questo invece il codice html

codice:
<div id="box_menu">
 <ul>
  <li class="voce"><div class="badge badge-sport"></div>sport
  <li class="voce"><div class="badge badge-montagna"></div>montagna[/list]
</div>
ho due problemi

1) mi sparisce la voce di menu una volta inserita l'icona
2) vedo sempre la prima icona (calcio) anche se ho messo -40 per richiamare la seconda (montagna)

Qualcuno può aiutarmi per favore? grazie