Ho un menu ul che esiste a partire da immagini con diverse larghezze per ogni li. Io uso uno sprite per i mouseover e bg. Lo sprite contiene tutte le possibili immagini per il menu. Quando passo il mouse, voglio che l'immagine di sfondo scatti a 160px su ogni li, e in qualche modo erediti la posizione orizzontale dello sfondo (ho capito che l'ereditarietà eredita da un genitore, non dall'elemento che chiami: passa sopra).Posizione di sfondo appena verticale
Come posso far scorrere la posizione dello sfondo verso l'alto e mantenere la posizione orizzontale la stessa. Esempio di codice qui sotto. Ho provato un sacco di cose, tra cui l'opzione Eredita nell'esempio qui sotto e so che c'è un'opzione di CSS3 chiamata background-position-y, ma quello non è crossbrowser ...
#menubar ul li.item-101{
width:183px;
background-position: 0 0;
}
#menubar ul li.item-102{
width:163px;
background-position: -183px 0;
}
#menubar ul li.item-103{
width:204px;
background-position: -346px 0;
}
#menubar ul li.item-104{
width:117px;
background-position: -550px 0;
}
#menubar ul li.item-105{
width:173px;
background-position: -667px 0;
}
#menubar ul li:hover{
background-position: inherit -160px;
}
Possa questo materiale ti sarà d'aiuto. http://stylemeltdown.com/image-sprite-navigation-with-css/ http://line25.com/wp-content/uploads/2009/css-menu/demo/demo.html –
Hey Jude, entrambi questi ragazzi lo risolvono affermando ciascuno: al passaggio del mouse separatamente, ecco come ho finito per farlo anche io. Questa è la soluzione senza cervello, e mi sembra in qualche modo sbagliato, dal momento che la sua ripetizione e ogni ripetizione fa lo stesso. Sento che dovrebbe essere possibile usarne solo uno: passa il mouse x: -160 per ognuno. Indovina che non c'è soluzione per questo fino a quando CSS3 è ampiamente usato: s –