Saltar al contenido
css

Menús desplegables solo con CSS

martes, 18 de diciembre del 2007

Para un par de clientes tuve que incluir menús desplegables en los diseños de sus sitios web. Uno de ellos, muy amablemente me envió una copia del menú que usaban en el sitio Internacional de su compañía. Pero al darme cuenta de la cantidad de archivos .js que había que incluir y la cantidad de div’s con condiciones «show» y «hide» para hacer un simple menú, pensé: debe haber una forma más sencilla de hacer esto…

CSSplayMe dí a la tarea de investigar, y gracias a un enlace que me envió mi amigo  diseñador Alvaro Diaz encontré el sitio CSSplay de Stuart Nicholls. El sitio tiene una gran variedad de menús que usan solo CSS y listas (ul y li), además de muchos ejercicios con CCS que valen la pena revisar. Los ejemplos son muy buenos, pero les recomiendo usar los menús «cross browser» ya que funcionan perfectamente en IE6, IE7 y Firefox. Además funcionan sobre archivos de flash (solo hay que incluir el parámetro wmode=»transparent» al swf).

Este es un ejemplo sencillo de menú de 3 nivesles hechos solo con css y li’s:

Descargar el código (zip)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

13 − 12 =

Comentarios (90)

hola gracias por tu aporte man.

Un Saludo…bueno bueno tu web!

Alguien me podría decir cómo aplicarle una imagen de fondo en el estado hover?

Muchas gracias por el codigo!

Gracias por el submenus de muestra me es de mucho util hasta luego amigo

muchas gracias por la informacion y por el codigo me va a ser de gran ayuda!
http://www.paraguaywarez.com

gracias por compartirlo es muy buno

Hola,

gracias por compartir esta aplicacion…. lo descargue.. y la estoy modificando para ajustarla a lo que necesito :D:D:D

esta muy bueno el menu…

saludos!!!

Hola: 🙂

Gracias por tu muy excelente aporte. Soy nueva en esto de las páginas web, he tratado de implementar tu menú (ultra sencillo) pero no realiza el despliegue, (la aplicación esta utilizando un framework), al llegar al menú ya ha cargado una serie de tablas y muchos muchos divs … pienso que por eso no desplega … agradezco toda la ayuda que me puedas brindar.

Bendiciones. 🙂
Pd: No es impactante que publicaste esto hace dos años y aún te escriben. 😛

Hola Andrea, para ayudarte tendría que revisar el código. Lo puedo ver en algún url? POr lo pronto te puedo decir que revises que la página tenga doctype.

Realmente un menú estupendo, el único integramente con css y operativo con TODOS los exploradores

Easy & Usfull

Tnks !!!

Es admirable como personas altruistas omo este autor, dedican su tiempo para compartir su basto conocimeitno deforma desinterezada, les aseguro que si la mayoria fueramos asi, no hubieran tantas brachas sociales en todo el mundo,

gracias amigo, eres lo maximo, al proporcionar el fuente, yo sin duda lo aplicare en un sistema y dejare tu huella.

saludos,

Gilbestia.

Gracias Luis Angel en verdad un excelnet aporte

Y para crear un menu vertical, como lo puedo hacer??

El menu vertical lo encuentras en este artículo. Y el horizontal lo puedes ver el el artículo «Menú desplegable horizontal con css«

+10. Gracias por el ejemplo en línea y por el código fuente descargable. En realidad, muy práctico.

Genial el menú. Pero tengo un problema: he creado ya tres menús desplegables de distintas maneras para nuestra intranet, aunque siempre empleando listas, y todos incluido éste quedan por debajo de los dropdownlist de los formularios.
Parece que el z-index no funciona correctamente en IE6. ¿Me podrías dar alguna alternativa?

Gracias.

Hola muy bueno el articulo pero descargue el código y tengo un problema, yo hago el maqueto con tablas y CSS (los combino), dentro de una tabla coloco el html del código y en una hoja de estilo aparte coloco el CSS y cuando lo voy a probar solo me salen las partes fijas(compañía, direcciones y comunicaciones) y no se me despliega ninguno de los submenus.

Te agradezco ayúdame porfa.

Gracias por el aporte amigo, pero no se como aplicar el codigo en el blogger, es decir en el zip vienen algunas imagenes y el html, abro con blodnotas y supongo que eso es el codigo, y las imagenes tendre que subirlas algun servidor pero como incerto ese codigo al blogger, en edicion html??? por favor agradesco mucho sus ayuda.

por cierto porque mis comentarios no aparecen en la pagina??
como se que me estan leyendo, hey, yuju

Ya aprendi como incertarlo en el blogger solo que no logro hacer que se vea sobre la plantilla o las imagenes en IE, porque en FF si funciona bien, pero en IE no, el desplegado del menu se ve detras de la plantilla, urrr que puedo hacer?? justo cuando puder subirlo al blogger y me gusta mucho este menu, agradesco mucho el aporte

Muy buen ejemplo ….

excelente amigo… mil gracias

muy bueno gracias

Gracias amigo, muy util estte menu

Gracias, hace rato vengo buscando la forma de crear este tipo de menus sin usar .js

Gracias amigo, me fue de muy gran ayuda 🙂

Saludos, Luis Angel.

Felicitaciones y Gracias por el aporte del código de menú, realmente me ayudó muchisimo.

Gracias!

Nota: Quizas podrías poner un ejemplo con un menú Vertical.

Saludos

Hermanazo, Gracias por esos menús excelentes.

Luis Angel, podrías si no es mucha molestia, programar el menu vertical con un 3er. y 4to. nivel, porque estoy implementando un Site y necesito que este tipo de menú tenga un 3er. y un 4to nivel.

Gracias, por la atencíon!

Nota: Espero puedas ayudarme con este detalle.

Excelente y muy facil el menu. mi unico problema no se mucho del tema como veras es que al poner cualquier cosa por debajo del menu por ejemplo una imagen, al querer desplegar el menu si por ejemplo el submenu tiene 4 opciones solo se ven las 2 primeras y las otras 2 las tapa la imagen o lo que este abajo, o sea cuando despliega elsubmenu si tengo algo abajo el menu queda detras y no se ve. Me podras dar una mano con esto, el resto EXCELENTE . Mil gracias

este es como un .css (osea es un archivo aparte?), lo que quiero saver es si este codigo va dentro del codigo de la pagina como tal, por que quiero montar un menu asi para todo un site pero si en el futuro quisiera agregar mas items al menu, tendria que re-editar pagina por pagina o solamente el archivo del menu???
o alguien me puede decir como ago esto.
GRACIAS!!!!

Si, el menú funciona con un archivo css. Los items u opciones del menu se definene dentro de listas (li) dentro del html. Para editar los items del menu debes modificar el html, específicamente los textos dentro de las etiquetas li y los links (a href). Si quieres modificar los colores y presentación de menú debes modificar el archivo .css. Espero me hayas entendido.

Hola Ramón, el menú vertical ya lo tengo publicado en aquí

Hola Ramón, por usabilidad no es aconsejable usar un menu de más de 2 niveles, es dificil de usar y se requiere de gran habilidad con el mouse para llegar a una opción. Sin embargo, creo que el menú te soporta más niveles, deberías incluir crear un “ul” dentro del “li” que quieras anidar. Este esel código que debes incluir dentro del “li” que quieres tenga un cuarto nivel:
<!--[if lte IE 6]><table><tr><td>< ![endif]-->
<ul class="sub">
<li><a href="#" rel="nofollow">Zoom Noticias</a></li>
</ul>
<!--[if lte IE 6]></td></tr></table>< ![endif]-->

Muy beuin menu despegable men gracia spor el apoyoo justo lo ke necesitaba saludos desde PEru !!! aver is te da una welta pro mi WEBSITE !!

Primero que nada, muchas gracias por este gran aporte, lo que si tengo es un problemita me he leido todos estos comentarios y al parecer no hay respuesta concreta con respecto a el porq no se despliega el menu, yo lo probe aparte creando uno para mi y perfecto pero cuando se lo integro a la pag q estoy creando no lo depliega no se que hacer ¿si me podrias ayudar?

Un Saludo, y de nuevo gran pero Gran aporte

Hey gracias!!!!!.
es lo que necesitaba para mi sistema PHP

[…] raiz del éxito que ha tenido el menú desplegable vertical y de algunas solicitudes, he investigado en el sitio de Stuart Nicholls (CSSplay), el cual contiene […]

Hola, muchas gracias por este menú; funciona perfecto con ligt box, mozilla, explorer, etc.
LO único, esque esta justificado a la izquierda, y cuando ajusto todo, se ven mal algunas cosas, ya e probado 1000 cosas y no e podido.

gracias¡¡

Hola, esta superrrr; pero para justificarlo, me cambia todo; como el ejemplo esta justificado a la izquierda

graciasss y recibo sugerenciasss
muchas gracias por conpartir información valiosa

Yo también tengo problemas para centrarlo en resoluciones altas, se alinea a la izquierda. Intenté
que me centra las paginas hechas con NVU o Kompozer pero no funciona. Intenté con el codigo dentro de una tabla y centrar la tabla, se centra la tabla pero no en menu. Alguna ayuda? En tanto sigi metiendo mano a ver si sale. Gracias por todo, chau.

muchas gracias por el aporte. Me gustó mucho tu código, así como la recomendación de la pagina cssplay.co.uk de Stu Nicholls. Mil gracias por este aporte.