Ejemplo para hacer un menú de navegación horizontal en CSS

Crear un menú de navegación horizontal es una tarea básica y esencial en el desarrollo web. Este tipo de menú es ideal para organizar enlaces de navegación en la parte superior de un sitio web, permitiendo a los usuarios acceder rápidamente a las secciones principales.

En este artículo, veremos un ejemplo paso a paso de cómo crear un menú de navegación horizontal con HTML y CSS.


Paso 1: Estructura HTML

Primero, crearemos la estructura HTML de nuestro menú de navegación. Usaremos una lista desordenada (<ul>) para organizar los enlaces en fila.

html
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Ejemplo de Menú de Navegación Horizontal</title> <link rel="stylesheet" href="estilos.css"> </head> <body> <nav> <ul> <li><a href="#inicio">Inicio</a></li> <li><a href="#servicios">Servicios</a></li> <li><a href="#acerca">Acerca de</a></li> <li><a href="#contacto">Contacto</a></li> </ul> </nav> </body> </html>

En esta estructura:

  • <nav> define el contenedor de navegación.
  • <ul> contiene los elementos de la lista (<li>), que a su vez contienen los enlaces (<a>).

Paso 2: CSS para Estilo Básico del Menú

A continuación, crearemos un archivo CSS llamado estilos.css y lo enlazaremos con nuestro HTML. Ahora, vamos a añadir estilos para hacer que el menú se vea horizontal y sea fácil de personalizar.

css
/* Reseteo de margen y padding para eliminar espacios predeterminados */ * { margin: 0; padding: 0; box-sizing: border-box; } /* Estilo del contenedor de navegación */ nav { background-color: #333; padding: 10px 0; } /* Estilo de la lista y elementos de la lista para organizarlos horizontalmente */ nav ul { list-style-type: none; display: flex; justify-content: center; /* Alineación centrada */ } nav ul li { margin: 0 15px; /* Espacio entre cada enlace */ } /* Estilo de los enlaces */ nav ul li a { text-decoration: none; color: white; font-size: 16px; padding: 8px 15px; transition: background-color 0.3s; } /* Estilo de efecto hover */ nav ul li a:hover { background-color: #555; border-radius: 5px; }

Explicación de los estilos CSS

  1. Resetear márgenes y rellenos: Usamos margin: 0 y padding: 0 para evitar los márgenes y rellenos predeterminados que algunos navegadores aplican.

  2. Contenedor de navegación (nav): Le damos un color de fondo y algo de relleno para separar visualmente el menú del resto del contenido.

  3. Lista desordenada (ul): Establecemos list-style-type: none para eliminar los puntos de lista. Luego, usamos display: flex y justify-content: center para alinear los elementos en el centro de la página.

  4. Elementos de lista (li): Añadimos margin: 0 15px para espaciar los enlaces horizontalmente.

  5. Enlaces (a): Definimos un color de texto blanco, eliminamos el subrayado y añadimos un padding alrededor del texto para mejorar la experiencia del usuario. También aplicamos una transición para el efecto hover.

  6. Efecto Hover: Cambiamos el color de fondo del enlace y añadimos un border-radius para que el efecto tenga esquinas redondeadas, lo que hace que los enlaces se destaquen cuando se pasa el cursor sobre ellos.

Paso 3: Resultado Final

Con este código, obtendremos un menú de navegación horizontal con enlaces centrados y con un efecto de cambio de color al pasar el cursor sobre cada enlace. Este estilo es básico, pero adaptable, y se puede personalizar para mejorar el diseño visual del sitio.

Código completo

Para ver el resultado final, el código de HTML y CSS quedaría de esta forma:

index.html

html
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Ejemplo de Menú de Navegación Horizontal</title> <link rel="stylesheet" href="estilos.css"> </head> <body> <nav> <ul> <li><a href="#inicio">Inicio</a></li> <li><a href="#servicios">Servicios</a></li> <li><a href="#acerca">Acerca de</a></li> <li><a href="#contacto">Contacto</a></li> </ul> </nav> </body> </html>

estilos.css

css
* { margin: 0; padding: 0; box-sizing: border-box; } nav { background-color: #333; padding: 10px 0; } nav ul { list-style-type: none; display: flex; justify-content: center; } nav ul li { margin: 0 15px; } nav ul li a { text-decoration: none; color: white; font-size: 16px; padding: 8px 15px; transition: background-color 0.3s; } nav ul li a:hover { background-color: #555; border-radius: 5px; }

Comentarios

Entradas populares de este blog

Ejemplo para hacer una imagen circular en CSS

Ejemplo para añadir un contorno a un texto en CSS

Ejemplo para crear un tooltip con CSS