Ir al contenido principal

CSS3: Menú horizontal



En esta entrada vamos a crear un menú horizontal para nuestra página, para esto debemos conocer temas como enlaces y listas de HTML ya q usaremos estos dos elementos para armarlo y también tener claro el concepto de herencia de estilo en CSS. Hay varias formas de menú, pueden ser verticales, horizontales, estáticos, animados, todo como siempre dependerá de nosotros. En este caso haremos uno sencillo q tenga el efecto de q al pasar el mouse muestre un bloque de submenú.






En la entrada anterior hicimos el maquetado de una pagina y creamos un menú vertical, es por esto q directamente codificaremos el menú horizontal:

-Nuestro HTML va a consistir en dos listas desordenadas, una será el menú principal y la segunda el bloque de submenú q aparecerá al pasar el mouse sobre la opción correspondiente, esto sería algo así:




Lo más importante en este es observar la relación de las listas, en este caso hay una lista con class="submenu" dentro del "li" correspondiente a la lista exterior q tiene un class="menu".

-El CSS sería algo como esto, véanlo y lo analizaremos juntos luego:

De todo este código, q en su mayoría esta dedicado al aspecto visual del menú principal, solo me importa destacar la última linea, donde haciendo uso de las propiedades de CSS decimos q al pasar el mouse sobre el link correspondiente (".menu li:hover") mostraremos el submenú ("display:block").
Este será el código del submenú:

De este se destaca la propiedad q oculta el submenu ("display:none") y la manera q usamos para acomodar la posición del submenú. Debemos aclarar q se repite sectores de código porque solo nos interesa destacar el funcionamiento del mismo, se puede optimizar juntando varias propiedades similares entre el menú y el submenú, así como también se puede jugar con las distintas propiedades para lograr otros resultados como ser un submenú vertical, o efectos q pueden crearse con CSS3.

Este sería el resultado:


y al pasar sobre en este caso "link 3" se muestra el bloque de submenú:


Y ahí lo tienen, un menú animado sin una gota de código javascript, modifiquen las distintas propiedades, cambien el aspecto visual y sobre todo diviertanse creando. Como siempre espero q les haya sido de ayuda, seguiremos con más CSS3 en próximas entradas, nos vemos...

Comentarios

Entradas populares de este blog

C: Conversiones de tipo (casting) en C...

El casting o simplemente cast  nos permite hacer una conversión explícita de un tipo de dato a otro, a criterio del programador siempre y cuando estos tipos sean compatibles. Este cast se realiza a través de un operador de conversión de tipos (type casting operator) y es un recurso a tener en cuenta ya que hay situaciones en que nos puede resultar de gran utilidad. Hacer uso de un cast es tan sencillo como poner (tipo de dato)  delante de la expresión o variable a convertir. Veamos un ejemplo: Declaramos una variable de tipo int con un identificador tan creativo como "a" y le realizamos diferentes cast a a para mostrarlo como si fuera un float, un double y un char en un printf. Lo que obtendríamos en pantalla sería lo siguiente: Donde tenemos el valor de nuestro a, a convertido en float y double (mostrándolo con 3 cifras decimales) y a convertido en char. Si vemos este último caso, al hacer la conversión de "a" a char toma a como el código ascii de...

C: Ejemplos: Congruencia de Zeller (nivel básico) ...

La Congruencia de Zeller es un algoritmo que se atribuye al matemático alemán Julius Christian Johannes Zeller que vivió en el siglo XIX. Este algoritmo nos permite determinar el día de la semana que le corresponde a una fecha determinada del calendario Gregoriano. La fórmula que nosotros usaremos (con algunas modificaciones respecto de la original para poder usarla en  informática) es la siguiente: Donde h es el día de la semana (entre 0 y 6), J es año/100 (la centuria) y K es año mod 100 (el año de la centuria). Y hay que tener en cuenta que los meses de enero y febrero cuentan como el mes 13 y 14 del año anterior. Ahora que tenemos la fórmula, programemos el algoritmo en C mediante el uso de una función: Analicemos el código paso a paso: Tenemos en cuenta el caso de enero y febrero: Dijimos que estos meses corresponden a los meses 13 y 14 del año anterior por lo que los asignamos como corresponde (mes + 12 , que dará 13 para enero y 14 para febrero) y le ...

Seguimos con lógica proposicional...

Anteriormente,  comenzamos  a explicar conceptos básicos del tema y analizar conectores lógicos a través de sus tablas de verdad. Entre esos conectores encontramos el condicional o implicación que denotamos de la forma:     p->q , donde p y q son proposiciones. Recordamos también que en  p->q  ,  p  recibe el nombre de "antecedente" y  q  de "consecuente". También se llama a  p  "hipótesis" y a  q  "tesis". Definida esta última, encontramos dos conceptos relacionados a ella: la recíproca y la contrarrecíproca. La  recíproca  de una implicación  p->q  se define como  q->p. Si comparamos la tabla de verdad de una implicación con su recíproca podemos ver que no es lo mismo decir  p->q  que decir  q->p  ya que no son expresiones  equivalentes , concepto que veremos más adelante. Mientras que la contrarrecíproca de una implicación  p->q  se d...