Menú animado con Lavalavamp
Llevo un tiempo alejado del blog por motivos navideños, pero bueno, hoy te traigo un tutorial sobre cómo personalizar un menú animado usando el plugin Lavalamp.
Conociendo lavalamp:
Lavalamp es un plugin para realizar menús mas llamativos para tu web.
Viene con tres ejemplos, que son los siguientes:
Con imagen:
Sin imagen
Subrayado
Nosotros nos vamos a fijar en el primero, el de la imagen, que es el que utilizaremos para editar.
Preparando el HTML
Si te fijas en el menú que hay en mi web para ganar dinero, entre cada elemento del menú hay un separador, y al pasar el selector por el, desaparece como pasando por debajo, a parte de tener el primer elemento y el último redondeados.
Voy a explicar cómo lo hice, pero primero pongo el código HTML y lo comento:
Comento por lineas, que es mejor:
- Esto simplemente es el div que engloba todo el menú.
- Este primer ul es para el lateral izquierdo redondeado, por eso su...
- ...único li no tiene texto, solo , que es un espacio en blanco...
- ...y cierre del ul.
- Aquí está la "chicha" del menú, como puedes observar, después de abrir el ul...
- ...lo primero que hay es un li con clase spacer, que no es mas que un separador.
- Este elemento tiene la clase current que quiere decir que es el elemento sobre el que "descansa" la sombra.
- Otro spacer.
- Enlace hacia el blog.
- Spacer.
- Enlace hacia el foro.
- Spacer.
- Enlace a preguntas frecuentes.
- Spacer.
- Último elemento con enlace hacia Contacto.
- Spacer.
- Cierre del ul.
- De aquí en adelante un ul para hacer el lateral derecho al igual que el izquierdo, y cierre del div.
Ahora que ya tenemos el html, vamos con el CSS...
Dando un poco de estilo con CSS
Como son bastantes selectores, voy a ir comentandolos de uno en uno
El primer elemento es el que hace referencia al menú entero, el div con menu como id
-
#menu {
-
width: 940px;
-
height: 55px;
-
display: none;
-
margin: 0;
-
}
- Selector.
- Un ancho excesivo, pero así me aseguro que no se caerá ningún elemento.
- La altura.
- Al principio no se muestra, pero se mostrará con JQuery poniéndole un efecto.
- Margen a 0.
El primer ul del menú
-
.l {
-
float: left;
-
}
Simplemente se alinea a la izquierda.
Ahora el elemento central del menú
-
#menu .central {
-
position: relative;
-
overflow: hidden;
-
float: left;
-
}
- Selector.
- El position relative es necesario para que no haga cosas extrañas la "sombra".
- La propiedad overflow con el valor hidden hace que cuando algo se vaya a mostrar fuera de su espacio reservado, lo que se escapa no se muestre.
- El float left es necesario para que no se descuelgue el último ul.
Características generales de ul y li
-
#menu ul {
-
margin: 0;
-
padding: 0;
-
list-style: none;
-
line-height: normal;
-
}
-
#menu li {
-
display: block;
-
height: 55px;
-
float: left;
-
background: url(images/menu.gif) repeat-x top left;
-
border: none;
-
}
Ahora vamos a empezar a editar el CSS que afecta a la sombra de LavaLamp
-
#menu li.back {
-
z-index: 8;
-
display: block;
-
height: 55px;
-
background: url("images/menuhover.gif") no-repeat left top;
-
position: absolute;
-
border: none;
-
}
- Selector dado por LavaLamp.
- La propiedad z-index se utiliza para traer al frente este elemento, por encima de todos aquellos que tengan un z-index menor a 8.
- Display block muestra el inicio de la sombra como un elemento que forma parte del bloque.
- La altura.
- La imagen de fondo.
- z-index sólo se aplica a elementos posicionados, asi que toca posicionar este.
- Le quitamos el borde.
-
#menu li.back .left {
-
background: url("images/menuhover.gif") repeat-x left top;
-
display: block;
-
height: 55px;
-
margin-right: 0px;
-
border: none;
-
}
- Selector dado por LavaLamp.
- Ponemos la misma imagen que antes, pero ahora si que la repetimos a lo largo del eje x.
- Mismo display que el elemento anterior.
- Misma altura.
- Le quitamos el margen de la izquierda.
- Le quitamos el borde.
Vamos a por los spacers
-
#menu .spacer {
-
width: 2px;
-
border:none;
-
background: url('images/spacer2.gif') repeat-x left top;
-
z-index: 10;
-
position: relative;
-
border-right: 1px solid black;
-
border-left: 1px solid black;
-
height: 55px;
-
}
Este elemento realmente no tiene mucha explicación, solamente se ponen los bordes laterales, y un z-index de valor 10, que hace que se muestre por encima de la "sombra" y asi parece que pasa "por debajo".
La imagen de fondo no es más que una tira con sombra, que era de una variación que hice del primer diseño, ahora habría que poner algo transparente pero entonces no quedaría tan bien.
Ya casi está todo, vamos con los enlaces del menú
-
#menu a {
-
display: block;
-
float: left;
-
height: 25px;
-
margin: 0;
-
margin-top: 5px;
-
padding: 13px 30px 5px 30px;
-
text-decoration: none;
-
text-align: center;
-
font-family: Arial, Helvetica, sans-serif;
-
font-size: 14px;
-
font-weight: bold;
-
color: #FFFFFF;
-
z-index:10;
-
position:relative;
-
}
Mencionar solo el atriburo padding, que hace que la zona de click sea mayor, el z-index que hace que se muestren las letras por encima de todo, la alineación centrada y el float left, el resto es, como gustan decir en mi escuela, trivial.
Para terminar, los laterales redondeados
-
#menu .first {
-
background: url(images/menufirst.gif) no-repeat top left;
-
width: 9px;
-
border: none;
-
}
-
#menu .last {
-
background: url(images/menulast.gif) no-repeat top left;
-
width: 9px;
-
border: none;
-
}
Instalando LavaLamp.
Ahora viene lo más sencillo, como casi todo con JQuery.
Te recomiendo, que le eches un ojo a la introducción a JQuery de este blog, para ir más rápido todavía.
Lo primero que tienes que hacer es descargarte el plugin, si esque no lo has hecho ya, comprimido en un zip, o directamente en *.js, todo desde este enlace, en el cual explican en inglés como funciona.
Ahora, tal como lo explico en la introducción a JQuery, tienes que enlazar los ficheros *.js dentro del head de tu página.
Una vez echo esto, con la siguiente función, activarás el LavaLamp sobre el elemento central del menú:
-
$(function() {
-
$("#menu .central").lavaLamp({
-
fx: "backout",
-
speed: 700
-
})
-
});
Y el resultado final... puedes verlo en Sinpastaenelbolsillo.com.










Me gusta!que bueno!lo pondre en mi web!gracias por el aporte!eres el mejor!
Gracias!!! siempre se agradecen comentarios asi!!
Muy bien CCS´s man!
FDO: bujos.
Gracias!! si te cojes TEWC el año que viene ya sabes donde echar un ojo!!
Sabes perfectamente que no me voy a coger esa mierdaca xD