Menu Nav - il - ul
Para hacer un menu simple y avanzado requiere de usos especificos de códigos padding y margin.
En la plantilla esta usando un menu simple.
CSS.
#nav {background:#eee;}
#nav ul {margin:0;padding:0;}
#nav li {margin:0;padding:0;display:inline;}
Ahora el css lo vamos hacer mas avanzado.
Vamos a crear un nuevo menu que no se relacionen con todos los nav que se ha puesto anterior en el encabezado.
Vamos a utilizar.
PASO #1 ARMAR MENU
Comenzamos armando el inicio del menu ul.
Iniciamos el código poniendo un fondo.
Cita: ul#menu {
background-color: #EEE;
}
Pondré un fondo gris claro.
Ahora vamos a poner el menu fijo utilizando padding y margin.
Cita: ul#menu {
background-color: #EEE;
margin: 0;
padding: 0;
}
El fijo esta en 0 si modificamos este valor hará un desposiciónamiento alfinal, por eso lo dejaremos asi.
Para centrar un poco el padding, tendremos que usar el código bottom para darle un centro en pixeles.
Cita: ul#menu {
background-color: #EEE;
margin: 0;
padding: 0;
padding-bottom:5px;
}
Seguimos ahora poniendo el ancho que ocupe todo el ancho que se inscrupta en el diseño, para que sea ajustado al 100% el ancho lo agregamos width:100%;
Cita: ul#menu {
background-color: #EEE;
margin: 0;
padding: 0;
padding-bottom:5px;
width:100%;
}
Como le pusimos un ancho, tambien le pondremos un alto. Usaremos el código height en px, ya que si ponemos en % se hará muy alto y no quedaria muy bien en la página.
Cita: ul#menu {
background-color: #EEE;
margin: 0;
padding: 0;
padding-bottom:5px;
width:100%;
height: 20px;
}
Serguimos agregando el código para desaparecer los puntos en el menu, para eso hace falta poner none en el estilo de lista.
Cita: ul#menu {
background-color: #EEE;
margin: 0;
padding: 0;
padding-bottom:5px;
width:100%;
height: 20px;
list-style: none;
}
Alfinal del código podemos darle un estilo al menu, por ejemplo de borde, si le ponemos un borde le damos un color claro.
Cita: ul#menu {
background-color: #EEE;
margin: 0;
padding: 0;
padding-bottom:5px;
width:100%;
height: 20px;
list-style: none;
border:1px solid #eee;
}
PASO #2 MENU li
El menu debe tener a lo que el div lo debe llamar, seria el li que esta debajo de ul.
Usaremos los 5 primeros códigos de posición que esta en el menu anterior.
Cita: ul#menu li {
margin: 0;
padding: 0;
padding-bottom:5px;
height: 20px;
list-style: none;
}
Usaremos los mismos valores, ahora le agregaremos 2 código extra para posiciónarlo mejor, si tiene un menu despegable, es necesario agregar float izquiedo y position relativo.
Cita: ul#menu li {
margin: 0;
padding: 0;
padding-bottom:5px;
height: 20px;
list-style: none;
float: left;
position: relative;
}
Este menu será despegable, si lo hacemos despegable le podemos agregar un hover, para hacerlo hover tendremos que llamarlo usando alado del menu li : hover
Cita: ul#menu li:hover{code}
Pondremos un código simple ya que la ajustación, esta perfecta en el paso anterior, le podemos agregar color de fondo.
Cita: ul#menu li:hover{
background:#eee;
}
Este efecto solo hará un hover a los menu no despegable.
PASO #3 MENU UL
Como usaremos un menu despegable, tendremos que configurar esa parte que seria ul#menu ul
Como siempre le agregamos un estilo de fondo al menu,
Cita: ul#menu ul {
background: #CCC;
}
Viene siendo el menu despegable, en códe vamos a ajustar el padding y margin en 0 y desaparecer los puntos de los textos.
Cita: ul#menu ul {
background: #CCC;
margin: 0;
padding: 0;
list-style: none;
}
Esta parte del ancho viene siendo algo estilo al menu despegable. Usamo width pero atención, el valor que le demos si es 160px será un menu despegable en vertical, si le damos un valor de 560px será un menu despegable en horizontal, usaremos cualquiera de las 2 versiónes.
Cita: ul#menu ul {
margin: 0;
padding: 0;
list-style: none;
width: 160px;
}
Para que el menu sea despegable, tendremos que poner el display para bloquear esa parte para que se mantenga oculta al pasar el mouse sobre el link despegable.
Cita: ul#menu ul {
background: #CCC;
margin: 0;
padding: 0;
list-style: none;
width: 160px;
display: none;
}
Terminaremos el código, poniendole la posición exacta que salga el menu.
Cita: ul#menu ul {
background: #CCC;
margin: 0;
padding: 0;
list-style: none;
width: 160px;
display: none;
position: absolute;
}
Si cambiamos la posición absolute, el menu despegable se verá por otras partes y no por el link, asique lo dejamos asi.
PASO #4 Posicionar del mismo paso el li del despegable.
Agregaremos un solo valor, que es el mismo ancho del menu ul
Cita: ul#menu ul li {
width: 160px;
}
PASO #5 MENUS ENLAZADOS.
Ahora pasaremos a personalizar el menu con estilos de fuentes, textos, ancho de la fuente, color etc..
Primero vamos a justar bien el espacio y bloquear esa parte para que no se modifique, usaremos padding y display, no vamos a usar el margin por ahora.
Cita: ul#menu a {
padding: 5px 15px 5px;
display: block;
}
Una vez ajustado, ahora ponemos el estilo de fuente y demas.
Cita: ul#menu a {
padding: 5px 15px 5px;
display: block;
color: #000;
text-decoration: none;
font-weight: bold;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
font-weight:bold;
}
PASO #6 PERSONALIZAR LOS LINKS HOVER DEL DESPEGABLE.
Una vez puesto la fuente, ya lo dejaremos asi para que sea en todo el menu el estilo que le pusimos, ahora vamos con el hover.
Usaremos el paso #2 antes de cerrar el código ponemos .hover a que seria en los enlaces despegables, le damos un color azul.
Cita: ul#menu li.hover a {
color: #0703FF
}
PASO #7 PERSONALIZAR LOS CAMPOS LINKS HOVER DEL DESPEGABLE.
Para personalizarlo usaremos los siguiente campos y compatibles con el navegador.
Cita: ul#menu li:hover li a:hover,
ul#menu li:hover li:hover a,
Compatibilidad:
Código: ul#menu li.iehover li a:hover,
ul#menu li.iehover li.iehover a
Juntamos y ponemos el {CODE}
Quedaria de esta menera.
Cita: ul#menu li:hover li a:hover,
ul#menu li:hover li:hover a,
ul#menu li.iehover li a:hover,
ul#menu li.iehover li.iehover a {CODE}
En código podemos cambiar el fondo y el color de link, por ejemplo.
Cita: ul#menu li:hover li a:hover,
ul#menu li:hover li:hover a,
ul#menu li.iehover li a:hover,
ul#menu li.iehover li.iehover a {
background:#0703FF;
color: #FFF;
}
Los hover se cambiara al pasar el mause sobre el enlace del menu despegable.
PASO #8 PONER A FUNCIÓNAR EL MENU DESPEGABLE.
Ahora vamos a poner a funciónar el menu despegable que pusimos anteriormente para que el cambio se efectue normalmente, para eso, juntamos todos los campo del menu hasta el hover ul y li {esta parte ponemos diplay:block para que quede estatico en su posición}
Cita: ul#menu li:hover ul,
ul#menu ul li:hover ul,
ul#menu ul ul li:hover ul,
ul#menu li.iehover ul,
ul#menu ul li.iehover ul,
ul#menu ul ul li.iehover ul {
display: block;
}
Y listo, ya una vez puesto a funciónar el css, solo nos falta la estructura en div.
PASO #9 CSS COMPLETO.
Código: ul#menu {
background-color: #EEE;
margin: 0;
padding: 0;
padding-bottom:5px;
width:100%;
height: 20px;
list-style: none;
border:1px solid #ccc;
}
ul#menu li {
margin: 0;
padding: 0;
padding-bottom:5px;
height: 20px;
list-style: none;
float: left;
position: relative;
}
ul#menu li:hover{
background:#EEE;
}
ul#menu ul {
background: #CCC;
margin: 0;
padding: 0;
list-style: none;
width: 160px;
display: none;
position: absolute;
}
ul#menu ul li {
width: 160px;
}
ul#menu a {
padding: 5px 15px 5px;
display: block;
color: #000;
text-decoration: none;
font-weight: bold;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
font-weight:bold;
}
ul#menu li:hover a {
color: #0703FF
}
ul#menu li:hover li a:hover,
ul#menu li:hover li:hover a,
ul#menu li.iehover li a:hover,
ul#menu li.iehover li.iehover a {
background:#0703FF;
color: #FFF;
}
ul#menu li:hover ul,
ul#menu ul li:hover ul,
ul#menu ul ul li:hover ul,
ul#menu li.iehover ul,
ul#menu ul li.iehover ul,
ul#menu ul ul li.iehover ul {
display: block;
}
PASO #10 DIV MENU
Como mucho sabemos, el div del menu es muy simple de agregar, no es muchos cambios, son lo mismo div de un simple menu, ¿pero como se puede hacer resultados como estos? es solo el css que hace el cambio, lo que el menu css es #menu {code css} y solo nos hace falta llamar al css que se incorporé en el div id.
Lo remarcado en azul, viene siendo lo mas importante de esta estructura.
Cita: <ul id="menu">
<li><a href='#'>PORTADA</a></li>
<li><a href='#'>Página Principal</a></li>
<li><a href='#'>Tutoriales</a>
<ul>
<li><a href='*1'>Tutoriales 1</a></li>
<li><a href='*2'>Tutoriales 2</a></li>
<li><a href='*3'>Tutoriales 3</a></li>
</ul>
</li>
<li><a href='#'>Copyright</a></li>
<li><a href='#'>Indice</a>
<ul>
<li><a href='*1'>Indice 1</a></li>
<li><a href='*2'>Indice 2</a></li>
<li><a href='*3'>Indice 3</a></li>
<li><a href='*4'>Indice 4</a></li>
<li><a href='*5'>Indice 5</a></li>
<li><a href='*6'>Indice 6</a></li>
</ul>
</li>
<li><a href='#'>Master</a>
</li>
</ul>
# || Es el enlace html que llevará los textos en el menu
*1 || Es el menu despegable de la ultima página de arriba, por ejemplo tutoriales o indice
Los texto de cada menu se encuentra antes de cada </a>
Como vemos es una simple estructura css y div de un menu despegable, solo hace falta trabajar en cada parte que compone un menu horizontal despegable y darle un estilo y donde bloquear esa parte para que no halla fallas en el div, se trabaja mas con padding - margin - display || estilos - font - background.
ul#menu || Comienzo del menu. || id="nombre en el css"
ul#menu ul || Composición y posiciónamiento del menu. || <ul id="nombre en el css">
ul#menu li || Composición y posiciónamiento del submenu. <li>enlace</li>
ul#menu a || Enlaces de menu. || <a href='#'>texto</a>
ul#menu ul li || ajustar el menu cambinado. || <ul id="nombre en el css"><li><a href='enlace'>texto</a></li><ul>
No solo en el (li) se puede agregar enlace sino otro metodos de ajustar el html que le podamos poner, por ejemplo un buscador o solo texto.
El css se agrega despues del #header y el div se agrega despues de <div id="header"></div> ______________ |