Actualizado el 30/04/2010 < > 8 Cometarios
Resúmen: Menú emergente desarrollado exclusivamente con XHTML (o HTML) y CSS.
Con la finalidad de conseguir efectos visuales dinámicos y atractivos, los diseñadores en muchas oportunidades empleamos lenguajes propicios para ello, como Javascript, y en otras ocasiones recurrimos a animaciones, como Flash.
En sí mismo, esto no es ningún inconveniente. Sin embargo, la mayoría de los usuarios de internet cuentan con navegadores que, en pos de conseguir una mayor seguridad, bloquean muchos scripts. Otro de los inconvenientes que puede surgir, es relativo al peso de las animaciones hechas en Flash.
Por estas razones, hemos decidido mostrar un recurso muy podo empleado, y es la utilización de XHTML (o HTML) y CSS para la creación de menús complejos formados por varios submenús.
Así mismo, en lawebera.es también hemos publicado otros artículos sobre creación de menús, puedes encontrarlos aquí: diseño de menús ys submenús con CSS, menú desplegable con CSS y HTML, menu rollover con CSS y una sola imagen.
Una vez que hemos finalizado de aprender como ubicar unos contenedores en una página web y a darle las propiedades a los elementos que componen una página, creemos que ya sabemos todo lo relativo a este maravilloso lenguaje. Sin embargo, muchas de las etiquetas ni siquiera hemos aprendido para que sirven.
Esta sub-utilización hace que en muchas ocasiones recurramos a formas más complejas de desarrollo, cuando con el empleo de ciertas técnicas de los lenguajes que ya conocemos, se consiguen efectos muy similares y que resultan más compatibles con todos los navegadores, no requieren de instalación de plugins por parte de los usuarios ni hace ralentizar el acceso a la página.
En forma somera, podríamos decir que se trata de la utilización de una etiqueta CSS poco usada por los desarrolladores: visibility. Esta etiqueta define solo si la capa o el objeto están visibles o no. Sus posibles valores son visible, hidden y collapse. La primera indica que el elemento marcado con este valor es visible, mientras que la segunda indica que el objeto no es visible. Collapse se emplea en tablas, por lo que la utilización en otro tipo de elementos es igual a hidden.
El truco con el que se desarrolla este menú consiste en ubicar un submenú que tenga la propiedad visibility con el valor hidden, y que cuando se pase el puntero del ratón por encima del botón ubicado encima del submenú, la propiedad visibility pase a visible a través de la utilización de la pseudoclase :hover, que hace que el elemento varíe en sus propiedades CSS en cuanto se pasa el puntero por encima.
Para comprender completamente el funcionamiento de este tema, hemos creado una pequeña página web de ejemplo, la cual pueden descargar desde esta página. Así mismo pueden ver el resultado desde aquí: ver el menú desplegable de ejemplo.
Contenido:
Contenido de la carpeta “img”:
Todo esto está comprimido en un archivo .rar que pesa 98.9 Kb, mientras que el contenido luego de descomprimir es de 153 Kb.
Tras la descarga, descomprimir el archivo, abrir la carpeta “menú” y ejecutar el archivo “ejemplo.html”. Para abrir los archivos HTML y CSS, puede emplearse un editor de texto plano.
El menú está definido en el archivo HTML en las etiquetas <div> que tienen los siguientes identificadores y clases:
La parte que siempre está visible del menú, se define en el archivo CSS mediante:
Hasta aquí, todo es sencillo y normal. Se trata del desarrollo de un contenedor, unas capas flotantes a la izquierda (los botones), que tienen un texto enlazado en su interior, que se modifica cuando el puntero pasa por encima.
El menú emergente no es más que unas capas no visibles que, cuando se pasa el puntero por el botón se hacen visibles. ¿Cómo es posible esto?
El concepto es bastante elemental y está dentro de las características fundamentales de las Hojas de Estilo en Cascada. Las características de los elementos se heredan. Esto quiere decir que un elemento contenido (hijo) dentro de otro, heredará las propiedades del elemento contenedor (padre).
Como habrán podido ver, dentro de cada uno de los botones aparece una serie de elementos: textos, enlaces, listas y una capa, sin identificador ni clase. Todos estos elementos, heredan las características del elemento padre (.boton), y todos los eventos que sucedan en él podrán tener consecuencias en los elementos hijos.
Veamos ahora como están descritos en el archivo CSS estos elementos dependientes de la clase .boton:
Y nada más. Como pueden apreciar, el funcionamiento de este menú está relacionado con elementos de CSS avanzado, pero que no son difíciles de entender. La forma más sencilla de entenderlo todo, es tomar los archivos, modificarlos y “jugar” con ellos para que podamos ir comprendiendo como funcionan y para que sirven cada uno de los elementos definidos.
Publicado el 30/04/2010, última actualización 30/04/2010.
Seguir @laweberaLicencia: Contenido exclusivo de LaWebera.es. Prohibida su copia.
Autor: Andrés Fernández
URL: LaWebera.es :: Diseño Web
Añadir Comentario
Últimas Novedades
2006 - 2012 © LaWebera.es
Aviso Legal - Privacidad
Alojado en CyberNETicos
8 Cometarios
yo tengo un div que es mi pagina y dentro de el e heccho 3 divisiones 1 cabezera 2 centro donde van los botones 3 pie de pagina kiero saber si es posible dentro del div “centro” puedo meter botones en posiciones que yo kiero es mas yo ya tenog las posiciones en X y en Y pero nos e cual es el codigo css para ubircarlos de acuerdo a las cordenadas alguien me puede colaborar gracias saludos ^^
Martes, 25 de mayo 2010
[...] Menús y submenús con CSS, menú desplegable con CSS y menu desplegable con XHTML y CSS. [...]
Miércoles, 9 de junio 2010
Muchas gracias por el aporte.
Aproechando la oportunidad desearia preguntar algo. Si el menu en lugar de ser Horizontal fuera Vertical, habria forma alguna de hacer que al aparecer los SUBMenus, el resto de las opciones se desplazaran hacia abajo. Me refiero a forzar un efecto “cuña” donde las opciones del primer nivel estuvieran incialmente visibles, pero que al provocar la aparición del SUBMenu correspondiente, el resto de opciones se desplazaran hacia abajo, no quedano ocultas bajo el submenu? O pido algo demasiado complicado para hacerlo en CSS y debere acabar muriendo en Java…
Gracias por vuestro tiempo.
Sábado, 19 de junio 2010
Xavier, no sé si te he entendido bien, ¿te refieres a un acordeón tipo los que se hacen con JavaScript, pero con html y css puro?
Como este ejemplo: http://jquery.bassistance.de/accordion/demo/
Jueves, 24 de junio 2010
yo tengo un menu ya echo pero el problema es que cuando quiero que aparesca al centro de mi pagina no puedo siempre aparese en la parte superior isquierda probe con position pero es una estable osea si entro en una pc de mayor resolucion de pantalla no se vee bien ayudenme porfavor
Lunes, 17 de enero 2011
Hola Julio Cesar:
Es muy difícil saber cual puede ser el problema que tienes con la maquetación de tu menú, ya que el origen de este tipo de inconveniente puede ser variado. Algunas posibilidades pueden ser dar posición relativa a la capa que contiene el menú para que se posicione respecto del elemento padre, o utilizar márgenes y rellenos en porcentaje. Pero francamente, sin conocer el código, no puedo aportarte mucho más.
Lunes, 17 de enero 2011
Hola
¿Os funciona con mozilla firefox?
Gracias. Saludos
Domingo, 6 de febrero 2011
Hola Fidel. Fue desarrollado visualizándolo en Mozilla Firefox, así que funciona perfectamente. Un cordial saludo.
Miércoles, 9 de febrero 2011