En entradas anteriores veíamos como podíamos crear un menú sencillo para nuestra web, en este caso vamos a crear un menú desplegable para nuestro sitio web.
Un menú desplegable es aquel que al situarnos encima de alguna opción del menú salen más opciones de este menú o bien hacia abajo o bien hacia un lado, en este caso vamos a hacer que al situarnos en una opción del menú salgan el resto de opciones (o submenu) hacia abajo.
Lo primero que vamos a hacer es crearnos nuestro menú mediante una lista desordenada e indicarle las opciones del menú que tendrán un «submenu», para hacer esto dentro de la opción del menú volvemos a crear una lista desordenada, pudiendo quedar de la siguiente forma:
<ul class="menu"> <li> <a href="index.html" >Inicio</a></li> <li> <a href="acercade.html">Acerca de</a> <ul> <li> <a href="historia.html">Historia</a></li> <li> <a href="trabajos.html">Trabajos</a></li> <li> <a href="sede.html">Sede</a></li> </ul> </li> <li> <a href="contacto.html" >Contacto</a> <ul> <li> <a href="telefono.html">Telefono</a></li> <li> <a href="correo.html">Correo</a></li> <li> <a href="oficinas.html">Oficinas</a></li> </ul> </li> </ul>
A continuación vamos a poner el estilo para que nuestro menú tenga un aspecto similar al siguiente:
Como vimos en las entradas anteriores tendremos que añadir el código CSS necesario para que nos ponga la lista en una línea, nos quite los puntos de la lista y todas las opciones tengan el mismo tamaño, quitar los margenes, que al situarnos en una opción cambie de color, etc.. pudiendo ser un código similar al siguiente:
.menu{ list-style:none; padding:0px; margin:0px; } .menu li{ margin:0px; padding:0px; float:left; position:relative; box-shadow: 2px 2px 4px 1px #000; } .menu li a{ display: block; width: 100px; height: 30px; padding: 6px; line-height:30px; text-decoration: none; text-align: center; color: #FFF; background-color: #063; position: relative; border-left: 2px solid #333; } .menu li a:hover{ color:#CF3; background-color:#603; }
A continuación debemos indicarle como queremos que se vean las opciones del «submenu» o del menu desplegable, indicándole el ancho el alto, los colores, bordes, etc… también pondremos un efecto de transición a la opacidad para que cuando se muestren las opciones no salgan de golpe. Quedando algo similar a:
.menu ul{ position:absolute; left:10px; top:36px; margin:0px; list-style:none; padding:0px; opacity:0; transition:opacity .35s ease .2s; -webkit-transition:opacity .35s ease .2s; -moz-transition:opacity .35s ease .2s; -o-transition:opacity .35s ease .2s; visibility:hidden; } .menu ul li a{ border-bottom:2px solid #333; border-left:none; display:block; text-align:left; }
Por último nos quedaría por indicarle que cuando se sitúe el ratón en una opción del menú nos muestre el submenu, si tiene, esto se hace añadiendo :hover al elemento de la lista del menú.
.menu li:hover ul{ opacity:1; visibility:visible; }
Con esto ya tendríamos nuestro menú desplegable funcionando como podemos ver en el siguiente ejemplo.
El munu no funciona en internet explorer 11
Bien es verdad que cuando le hicimos teniamos el internet explores 9 o 10, pero le hemos estado viendo la entrada en internet explorer 11 y funciona, cuando te situas en acerca de sale el submenu con historia, trabajos, sede, con lo que en principio si que funciona.
No lo entiendo pues a mi no me funciona ie11 creo que no me coje los codigos de CSS
Se me ve asi
~~Inicio
• Acerca de
◦ Historia
◦ Trabajos
◦ Sede
• Contacto
◦ Telefono
◦ Correo
◦ Oficinas
Si te sale asi es que no esta aplicando los estilos, tienes el archivo con el menu en esta direccion https://aula5centrodeestudios.com/wp-content/uploads/file/menu4.html en ver codigo fuente veras todo el codigo
Gracias, un aludo
Atte. Andrés
Yo tengo unos problemas con estos botones, si los tengo y me salen como en el tutorial, pero luego en mi pagina web se quedan por debajo de la columna principal y no puedo seguir. Os dejo este link para que lo veais y si alguno sabe la respuesta que me avise.
Pagina –> http://prntscr.com/38oswe
css –> http://prntscr.com/38ot9d
html –> http://prntscr.com/38ot2d
Prueba a poner el valor z-index:99; en el submenu para que se quede por encima de otras capas.
¿En cual de todos los packs del css en menu? ¿ solo le pongo el z-index en el menu o luego le pongo z-index:1 a la pagina para que salga por abajo?
debes poner el z-index en .menu ul, y le pones algo como
.menu ul{
z-index:10;
}
y en lo que quieres que salga por debajo (un div o lo que sea) le pones por ejemplo z-index:1;
Un saludo.
Ya funciona, tenia que poner el z-index en el header y otro en columna envez de en el .ul menu, gracias.
Hola me pueden ayudar a ponerle submenus a los menus? pls 😀
No entiendo muy lo que necesitas, en principio es uno menu y dentro de algunas opciones del menu hay un submenu, como en acerca de o en contacto
Hola de nuevo, es un submenu dentro de un submenu, pls aydua 😀
por ejemplo, que se despliege otra lista en la parte de Historia, pls ayuda y gracias por la ayuda, son buenos los de esta pag 😀
Habria que crear otra lista ul dentro de historia por ejemplo:
Hola necesito que me aparesca todo en un iframe le pongo el id de mi iframe pero no me aparece me podrias auxiliar porfavor gracias el codigo es el siguiente:
<li> <a href="historiarollers.html" name="centro" >Historia Rollers</a></li>
<li> <a href="componentesrollers.html" name="centro">Componente del Rollers</a></li>
<li> <a href="Rollersfamosos.html" name="centro">Rollers Famosos</a>
<ul>
<li> <a href="aragon.html" name="centro">Brian Aragon</a></li>
<li> <a href="Billy.html" name="centro">Billy O´Neil</a></li>
<li> <a href="Broskow.html" name="centro">Alex Broskow</a></li>
<li> <a href="dominik.html" name="centro">Dominik Wagner</a></li>
<li> <a href="Haffey.html" name="centro">Chris Haffey</a></li>
</ul>
</li>
<li> <a href="frasesrollers.html" name="centro" >Frases de los Rollers</a></li>
<li> <a href="marcasrollers.html" name="centro">Marcas de los Rollers</a></li>
</ul>
y el iframe es el siguiente:
<td class="concentrado"><iframe name="centro">Area_Informacion</iframe>
En principio deberias poner el menu en un archivo que se llames de alguna manera por ejemplo menu.html, el codigo del iframe esta mal seria:
iframe src=»menu.html»
Como bien indica esta web http://www.w3schools.com/tags/tag_iframe.asp
Hola, porfavor me podrias decir donde pongo los codigo, el primero despues de skin quizas, y el segundo despues de header??? lo siento soy bastante ignorante con respecto a esto. Muchas gracias (no consigo hacer un menu desplegable, los tutos siempre tienen algo que no funciona)
En esta direccion (https://aula5centrodeestudios.com/wp-content/uploads/file/menu4.html) tienes el menu funcionando si vas a ver el codigo fuente veras donde esta posicionado todo, puedes copiar y pegar en tu pagina.
Un saludo.
EXCELENTE AMIGO FUN CINA PERFECTAMENTE MUY BACANO GRACIAS POR TU APORTE… APENAS ESTOY APRENDIENDO
alguien sabe porque me pone los botones principales pero los de los submenus no?
Aqui tienes la web con el codigo y css
https://aula5centrodeestudios.com/wp-content/uploads/file/menu4.html
Estimado, primero agradecer el aporte que hiciste. Estoy tratando de acomodar el código que pusiste, pero no me funciona del todo. No soy experto y he aprendido buscando en internet, pero no logro hacer que se centre en la página y que cuando el submenu se desplegue no desaparesca cuando quieres hacer click en el.
De antemano muchas gracias
Hola, veo que ya has conseguido centrarlo, para que no se quite el submenu puedes tocar el codigo y ponerle en el css del .menu ul en lugar de top:36px, ponle top:30px; por ejemplo, segun vas disminuyendo el top se pega mas el submenu al menu con lo que no queda una linea en blanco entre medias que es la que hace que se oculte.
Un saludo.
Si, muchas gracias por tu ayuda. La ultima consulta, he tratado de disminuir el espacio entre las palabras, para que no se vea ese espacio de color diferente, pero no lo he logrado, alguna idea?
gracias nuevamente.
Patricio
en menuecon.css en la linea 22 tienes que añadir al estilo #menuh .menu li a el margen por la izquierda a 0, osea margin-left:0px !important;
Muchisimas muchisimas gracias por tu ayuda, ahora funciona muy bien. Gracias por tu tiempo y paciencia.Tuve que sacar los botones de FB y G+ porque no pude hacer que se ajustaran al menu, aunque creo debe haber alguna solución, si tu sabes de alguna te lo agradecería.
Saludos
me faltó el link, este es:
http://grupoadm.cl/tazones/tazonesbaratos-1jn7lc28-wd-1.php
Me podian ayuda?r… como le hago para que quede centrado
Buenas. Tengo un problema: me salen los submenús, pero sólo está disponible para clicar uno de los 3 que llego a tener. A ver si pueden ayudarme con el mismo. Muchas gracias por su tiempo. Saludos.