lunes, 1 de septiembre de 2014

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.

0 comentarios:

Publicar un comentario