Navigation Bar

Navigation Bar I - lista de enlaces

Hacemos una lista de enlaces y los maquetamos ligeramente.

Ver ejemplo de como maquetar el submenu
.menu{
	width: 300px;
	padding-left: 0;
	list-style:none;
}
	
.menu li a{
	color:black;
	background:pink;
	border:solid black 6px;
	border-radius: 10px;
	padding:15px;
	display:block
	...

.menu li a:hover{
	...

Navigation Bar II – content

After y content
li.hasChildren a:after{
	color:purple;
	content:" o";
}

Navigation Bar III – iconos

Uso de iconos. Si cargo una fuente en la que todo son iconos, y pongo la letra correspondiente al icono que me interesa, mostraré el icono.

@font-face{
	font-family: flechita;
	src:url(Arrows_tfb.ttf);
}

Navigation Bar IV - botonera horizontal

Volver la botonera horizontal:

ul li{
	display: inline-block;
...

También lo podíamos haber hecho utilizando:

ul li{
	float:left; /*Necesario para mostrar los botones en horizontal*/

Pero recomiendo la primera forma que nos facilitará la tarea cuando queramos hacer una botonera cuyos enlaces emerjan del centro.

Horizontal

Navigation Bar V - submenús

<li class="hasChildren"><a href="#" title="las fotos de mis viajes">fotos</a>
	<ul>
		<li><a href="#">submenu 1</a></li>
		<li><a href="#">submenu 2</a></li>
		<li><a href="#">submenu 3</a></li>
	</ul>
	</li>

li.hasChildren li{
	display:block;
}
li.hasChildren ul{
	margin:0;
	padding: 0;
	position:absolute;
}
Ver ejemplo de cómo maquetar el submenú

Notas:

Para que los submenus no tengan el icono, habrá que modificar es estilo de este enlace:

li.hasChildren > a:after

Navigation Bar VI - aparecen submenús

li.hasChildren ul{
	...
	opacity: 0;
	overflow: hidden;
	max-height: 0
}

li.hasChildren:hover ul{
	opacity: 1;
	max-height: 800px
}
Ver ejemplo de cómo hago para que aparezca el submenú

Navigation Bar VII - añadiendo animación

transition: 1s
Ver ejercicio resuelto

Navigation Bar XIV - logrando el estado persistente del botón que encabeza el submenú.

li:hover > a{
	...
Ver ejemplo de cómo persistir el estado del menú

Ejercicio

Hacer que en lugar de ser una botonera horizontal, sea una botonera vertical.

Indice numerado

ol.indice, ol.indice ol{
	counter-reset: item;
}

.indice li::before {
	content: counters(item, ".") " ";
	counter-increment: item;
}
.indice li{
	list-style: none
}
Ver ejemplo de índice numerado

Índice del curso de HTML5

  1. Introducción
  2. Estructura de una página web
  3. Comentarios
  4. Encabezados y párrafos
  5. Enlaces e imágenes
  6. Listas
  7. Listas
  8. iframes
  9. Páginas de consulta
  10. Tablas
  11. Estilos en línea
  12. Unidades de medida
  13. Hacer una NewsLetter con HTML
  14. favicon
  15. Hojas de estilos
  16. Capas
  17. GIMP
  18. Selectores CSS
  19. Margin Collapse
  20. padding y width
  21. Ejercicios de maquetación vertical
  22. display:block, inline, inline-block
  23. img vs background
  24. Flex Box
  25. Hacer una newsletter responsive sin media queries
  26. Algunos tips
  27. Ejercicios
  28. Break! - gran día de repaso
  29. Ejercicio - background centrado
  30. Links de interés
  31. position
  32. Opacidades
  33. Popups con CSS
  34. Galería de fotos
  35. Navigation Bar
  36. Estilo important!
  37. Hacer páginas reales
  38. Grid Layout
  39. Selectores avanzados de CSS
  40. Página de error 404
  41. Insertar un buscador de google
  42. Dominio y alojamiento
  43. Ejercicio - Proyecto
  44. HTML5: definición y ejemplos
  45. HTML5 vs HTML4
  46. Content editable
  47. Soporte para textos asiáticos
  48. divs semánticos
  49. Video y audio
  50. svg
  51. wbr - Word Break
  52. Formularios
  53. Motores de navegación
  54. text-shadow
  55. border-radius, box-shadow
  56. border-image
  57. background-size
  58. Multiple Background
  59. Background transparency
  60. Gradientes
  61. Fuentes
  62. columns
  63. text-overflow
  64. Animaciones con CSS3
  65. Responsive design
icono de mandar un mail¡Contacta conmigo!
contacta conmigoPablo Monteserín

¡Hola! ¿En qué puedo ayudarte?