Menú básico con HTML5 y CSS3

Posteado el 28. Sep, 2012 por in Desarrollo Web, HTML y CSS, HTML5

Estructura básica del menú en HTML

Vamos a ver cómo hacer un menú horizontal básico utilizando html5 y CSS3 .

En HTML5 tenemos una etiqueta de navegación para nuestro documento “NAV” dentro de NAV podemos incluir enlaces, listas o cualquier cosa para navegación del sitio, pero nosotros  vamos utilizar listas que son mas fáciles de utilizar.

<nav>
<ul>
    <li><a title="Opcion 1" href="#">Opción 1</a></li>
    <li><a title="Opcion 2" href="#">Opción 2</a></li>
    <li><a title="Opcion 3" href="#">Opción 3</a></li>
    <li><a title="Opcion 4" href="#">Opción 4</a></li>
    <li><a title="Opcion 5" href="#">Opción 5</a></li>
</ul>
</nav>

 

Cada elemento de la lista será un enlace, con esto podremos manejar como se nos antoje los enlaces,  con CSS3 vamos a darle el estilo magnifico que nos proporciona.

 

Aplicando estilos con CSS3 al menú de navegación

Vamos a darle estilos básicos a nuestro menú para empezar a darle código CSS3. Primero a darle un fondo al cuerpo:

body{
    background:#3CF;
}

 

A la etiqueta NAV le damos borde redondeado con un radio de 10px , degradado de blanco a gris, padding de 10px y un ancho de 950px.

nav{
    /*Bordes redondeados*/
    -webkit-border-radius:10px;/*Para chrome y Safari*/
    -moz-border-radius:10px;/*Para Firefox*/
    -o-border-radius:10px;/*Para Opera*/
    border-radius:10px;/*El estandar por defecto*/
    background-image: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#CCC));/*Para chrome y Safari*/
    /*Degradados*/
    background-image: -moz-linear-gradient(top center, #FFF, #CCC);/*Para Firefox*/
    background-image: -o-linear-gradient(top, #FFF, #CCC);/*Para Opera*/
    background-image: linear-gradient(top, #FFF, #CCC);/*El estandar por defecto*/
    overflow:hidden;
    padding:10px;
    width:950px;
}

Nota: Aun CSS3 no esta terminado por lo cual utilizamos las extensiones propietarias para cada navegador.

 

Recordemos que NAV es un  contenedor para la lista, así que ahora pasamos a dar estilo a  la etiqueta de  UL que contiene las listas, vamos a anular el estilo de lista, darle márgenes laterales de 10px y anular el padding.

nav ul{
    list-style:none;
    margin:0 10px 0 10px;
    padding:0;
}

 

 

Ahora  a los elementos de la lista LI hacemos que floten a la izquierda para una vista horizontal y le damos un margen derecho de 10px para darle separación con bordes redondeados de 5px de radio, tipo de fuente, tamaño de 16px, centrado y sombras para el texto.

nav ul li{
    /*Bordes redondeados*/
    -webkit-border-radius:5px;/*Chrome y Safari*/
    -moz-border-radius:5px;/*Firefox*/
    -o-border-radius:5px;/*Opera*/
    border-radius:5px;/*Estandar por defecto*/
    float:left;
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    font-weight:bold;
    margin-right:10px;
    text-align:center;
    /*Sombras para texto, los mismos parametros que box-shadow*/
    text-shadow: 0px 1px 0px #FFF;
}

 

Al pasar el puntero sobre el elemento LI se activara el evento HOVER cambiando el fondo de este. En los degradados tenemos diferentes maneras de aplicarlo para cada navegador, en este caso para el estándar por defecto, Opera y Firefox es igual, para Chrome y Safari es diferente pero con las mismas propiedades. De tipo linear, empezamos por la parte alta hacia debajo de blanco a gris claro, con la sombra tenemos los parámetros eje X, eje Y, enfoque y color.

nav ul li:hover{
    /*Degradado de fondo*/
    background-image: -webkit-gradient(linear, left top, left bottom, from(#FFF), to( #E3E3E3));/*Chrome y Safari*/
    background-image: -moz-linear-gradient(top center, #FFF, #E3E3E3);/*Firefox*/
    background-image: -o-linear-gradient(top, #FFF, #E3E3E3);/*Opera*/
    background-image: linear-gradient(top, #FFF, #E3E3E3);/*Estandar por defecto*/
    /*Sombras*/
    -webkit-box-shadow:  1px -1px 0px #999;/*Chrome y Safari*/
    -moz-box-shadow:  1px -1px 0px #999;/*Firefox*/
    -o-box-shadow:  1px -1px 0px #999;/*Opera*/
    box-shadow:  1px -1px 0px #999;/*Estandar por defecto*/
    border:1px solid #E3E3E3;
}

 

Cada elemento LI es también un contenedor, en este caso de enlaces, a estos enlaces le daremos color gris y que sean bloques con padding de 10px, quitaremos la decoración de los enlaces. Las transiciones en CSS3 tienen diferentes parámetros, esta vez utilizamos el tiempo de 0.4 segundos, el efecto linear y aplicable a todas las propiedades básicas, ancho , color, margen, etc.

nav ul li a{
    color:#999;
    display:block;
    padding:10px;
    text-decoration:none;
    /*Transiciones*/
    -webkit-transition: 0.4s linear all;
    -moz-transition: 0.4s linear all;
    -o-transition: 0.4s linear all;
    transition: 0.4s linear all;
}

 

La transición esta vez se activara al pasar el puntero, el evento HOVER de CSS que cambiara de color gris el texto a negro, esto es sobre la etiqueta A de enlace.

nav ul li a:hover {
    color:#000;
}

 

Listo con esto ya tenemos terminado nuestro Menú en HTML5 Y CSS3

 

Menu con HTML5 Y CSS3

Menu con HTML5 Y CSS3

 

 


Tags: , ,

Una respuesta para “Menú básico con HTML5 y CSS3”

  1. Bitacoras.com

    28. Sep, 2012

    Información Bitacoras.com…

    Valora en Bitacoras.com: Estructura básica del menú en HTML Vamos a ver cómo hacer un menú horizontal básico utilizando html5 y CSS3 . En HTML5 tenemos una etiqueta de navegación para nuestro documento “NAV” dentro de NAV podemos incl……

Deja tu Comentario

Tutoriales en la web se reserva el derecho de moderación de los comentarios. Evita por favor utilizar palabras soeces, ataques directos e insultos, de lo contrario tu comentario será eliminado.

Hire PHP Developer India
Get Adobe Flash player