Ir al contenido principal

Curso Bootstrap: Menú de navegación

Curso Bootstrap: Menú de navegación

Uno de los elementos más importantes de cara a la usabilidad web de nuestros proyectos es el menú de navegación. Ayudará al usuario a explorar las diferentes categorías de las que se compone nuestra web de una manera sencilla y directa.

El menú de navegación debe ser claro e intuitivo. Nosotros seguramente conozcamos al dedillo la estructura de nuestra web, pero ese no es el caso del usuario que la visita.

Bootstrap nos brinda un maravilloso menú, el cual tiene la habilidad de ser completamente responsive. De esta manera no quedarán excluidos los usuarios que accedan con dispositivos portátiles.

Vamos a ver una breve descripción de los tres menús con los que vamos a trabajar:

  • Navbar
  • Static top navbar
  • Fixed navbar

Navbar: Es el modelo de menú más básico. Cuenta con los elementos necesarios para poder navegar por nuestra web.

Static top navbar: La diferencia con el modelo anterior básicamente es la ubicación. Está pensado para que su ubicación sea la parte superior de la página sin márgenes ni espacios. Cuando el contenido de la web sea lo suficientemente extenso como para hacer scroll, el menú se ocultará según nos vayamos desplazando a la parte final del contenido.

Fixed navbar: Siempre va a ser visible por mucho contenido del que disponga la página. Podemos ubicarlo en la parte superior o inferior de la web.

Tras esta breve introducción a los modelos de menú de Bootstrap, vamos a ver un ejemplo de cada uno y ver su funcionamiento.

Navbar:

Código Fuente:

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Cregarru - Curso Bootstrap: Menú de navegación</title>

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">

    <!-- HTML5 Shim y Respond.js IE8 soporta elementos HTML5 y media queries -->
    <!-- ATENCIÓN: Respond.js no funciona si visualizas la página vía file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <div class="container">
        <div role="navigation" class="navbar navbar-default">
        <div class="container-fluid">
          <div class="navbar-header">
            <button data-target=".navbar-collapse" data-toggle="collapse" class="navbar-toggle collapsed" type="button">
              <span class="sr-only">Toggle navegación</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
             <span class="icon-bar"></span>
            </button>
            <a href="#" class="navbar-brand">Nombre proyecto</a>
          </div>
          <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
              <li class="active"><a href="#">Enlace</a></li>
              <li><a href="#">Enlace</a></li>
              <li><a href="#">Enlace</a></li>
              <li class="dropdown">
                <a data-toggle="dropdown" class="dropdown-toggle" href="#">Desplegable <span class="caret"></span></a>
                <ul role="menu" class="dropdown-menu">
                  <li><a href="#">Enlace</a></li>
                  <li><a href="#">Enlace</a></li>
                  <li><a href="#">Enlace</a></li>
                  <li class="divider"></li>
                  <li class="dropdown-header">Cabecera navegación</li>
                  <li><a href="#">Enlace separado</a></li>
                  <li><a href="#">Enlace separado</a></li>
                </ul>
              </li>
            </ul>
          </div><!--/.nav-collapse -->
        </div><!--/.container-fluid -->
      </div>
    </div>
    <!-- jQuery (necesario para los plugins de Bootstrap) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <!-- Incluye todos los plugins compilados de Bootstrap -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>
Ejemplo

Static top navbar:

Código Fuente:

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Cregarru - Curso Bootstrap: Menú de navegación</title>

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">

    <!-- HTML5 Shim y Respond.js IE8 soporta elementos HTML5 y media queries -->
    <!-- ATENCIÓN: Respond.js no funciona si visualizas la página vía file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>

        <div role="navigation" class="navbar navbar-default navbar-static-top">
        <div class="container">
        <div class="container-fluid">
          <div class="navbar-header">
            <button data-target=".navbar-collapse" data-toggle="collapse" class="navbar-toggle collapsed" type="button">
              <span class="sr-only">Toggle navegación</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
             <span class="icon-bar"></span>
            </button>
            <a href="#" class="navbar-brand">Nombre proyecto</a>
          </div>
          <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
              <li class="active"><a href="#">Enlace</a></li>
              <li><a href="#">Enlace</a></li>
              <li><a href="#">Enlace</a></li>
              <li class="dropdown">
                <a data-toggle="dropdown" class="dropdown-toggle" href="#">Desplegable <span class="caret"></span></a>
                <ul role="menu" class="dropdown-menu">
                  <li><a href="#">Enlace</a></li>
                  <li><a href="#">Enlace</a></li>
                  <li><a href="#">Enlace</a></li>
                  <li class="divider"></li>
                  <li class="dropdown-header">Cabecera navegación</li>
                  <li><a href="#">Enlace separado</a></li>
                  <li><a href="#">Enlace separado</a></li>
                </ul>
              </li>
            </ul>
          </div><!--/.nav-collapse -->
        </div>
      </div>

    <!-- jQuery (necesario para los plugins de Bootstrap) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <!-- Incluye todos los plugins compilados de Bootstrap -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>
Ejemplo

Fixed navbar:

Código Fuente:

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Cregarru - Curso Bootstrap: Menú de navegación</title>

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">

    <!-- HTML5 Shim y Respond.js IE8 soporta elementos HTML5 y media queries -->
    <!-- ATENCIÓN: Respond.js no funciona si visualizas la página vía file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>

      <div role="navigation" class="navbar navbar-default navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button data-target=".navbar-collapse" data-toggle="collapse" class="navbar-toggle collapsed" type="button">
            <span class="sr-only">Toggle navegación</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a href="#" class="navbar-brand">Nombre proyecto</a>
        </div>
        <div class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#">Enlace</a></li>
            <li><a href="#about">Enlace</a></li>
            <li><a href="#contact">Enlace</a></li>
            <li class="dropdown">
              <a data-toggle="dropdown" class="dropdown-toggle" href="#">Dropdown <span class="caret"></span></a>
              <ul role="menu" class="dropdown-menu">
                <li><a href="#">Enlace</a></li>
                <li><a href="#">Enlace</a></li>
                <li><a href="#">Enlace</a></li>
                <li class="divider"></li>
                <li class="dropdown-header">Cabecera navegación</li>
                <li><a href="#">Enlace separado</a></li>
                <li><a href="#">Enlace separado</a></li>
              </ul>
            </li>
          </ul>
        </div><!--/.nav-collapse -->
      </div>
    </div>

    <!-- jQuery (necesario para los plugins de Bootstrap) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <!-- Incluye todos los plugins compilados de Bootstrap -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>
Ejemplo

Copiando el código fuente y creando una página nueva en nuestro equipo podemos ver los ejemplos en funcionamiento.

Como vemos el resultado es un menú muy sencillo y claro. Su implementación también es sencilla, aunque puede que al principio te cueste asimilar un poco el código.

Mi consejo es que modifiques el código a tu gusto respetando la estructura, para que poco a poco tengas más soltura con los elementos que pone a nuestra disposición Bootstrap.

Comentarios

Entradas populares de este blog

Efecto destello CSS3

En estas fechas tan señaladas a todos nos invade el espíritu navideño, y con él las ganas de decorar nuestra casa, nuestra habitación y por qué no, nuestra web.Por este motivo se me ocurrió crear un efecto destello de luz mediante CSS3 e imágenes para dar la calidez necesaria que nuestra web se merece.El efecto es sencillo, consiste en dos imágenes (una de fondo y otra que realizará el efecto) y una animación mediante CSS3.El resultado sería el siguiente: Podemos duplicar cuantas veces queramos la estrella y posicionarla donde mejor nos venga.A continuación os dejo el fragmento de código HTML y CSS para que lo probéis y hagáis las modificaciones que sean necesarias.HTML <div class="efectos"> <img src="directorio/imagen-01.jpg" alt="Navidad" class="background-navidad"> <img src="directorio/imagen-02.jpg" class="destello destello-01"> <img src="directorio/imagen-03.jpg" class="destello destell…

Curso Bootstrap: Ejemplo básico

En la anterior entrada, aprendimos qué es Bootsrap y entendimos su estructura de archivos y directorios. Una vez tenemos claros todos los conceptos básicos, el siguiente paso es crear nuestro primer proyecto. De esta manera reforzaremos de una manera más eficiente todo lo que aprendimos con anterioridad.
La estructura básica de un archivo HTML doy por hecho que ya sabrás como funciona. De lo contrario no te preocupes, puedes aprender que es HTML y como funciona en el siguiente enlace.
Para crear nuestro primer proyecto, abrimos una nueva página en blanco en nuestro editor de texto preferido, ya sea Sublime Text, Bluefish o incluso un Bloc de notas. Acto seguido copiaremos el siguiente código que se muestra justo debajo.
<!DOCTYPE html><htmllang="es"><head><metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1">…