Tengo un menú ul que existe con imágenes con diferentes anchuras por cada li. Yo uso un sprite para las mouseover y bg. El sprite contiene todas las imágenes posibles para el menú. Cuando cierro el mouse, quiero que la imagen de fondo se deslice 160px hacia arriba en cada li, y de alguna forma herede la posición de fondo horizontal (entiendo que hereda hereda de un elemento primario, no del elemento al que llama: pase el mouse sobre).Posición del fondo simplemente vertical
¿Cómo puedo deslizar la posición de fondo hacia arriba y mantener la posición horizontal igual? Muestra de código a continuación. He intentado muchas cosas, incluyendo la opción de heredar en el ejemplo siguiente y sé que no es una opción CSS3 llamada background-position-y pero eso no es 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;
}
Que este material sea útil para ti. http://stylemeltdown.com/image-sprite-navigation-with-css/ http://line25.com/wp-content/uploads/2009/css-menu/demo/demo.html –
Hey Jude, ambos Estos chicos lo resuelven diciendo cada uno: pase el mouse por separado, así es como terminé haciéndolo también. Esta es la solución sin cerebro, y de alguna manera me parece errónea, ya que su repetición y cada repetición hacen lo mismo. Siento que debería ser posible usar solo uno: hover que hace x: -160 para cada uno. Supongo que no hay solución para esto hasta que CSS3 sea ampliamente utilizado: s –