Barras de navegación W3.CSS



Clases de barra de navegación W3.CSS

W3.CSS proporciona las siguientes clases para las barras de navegación:

Clase define
barra w3 Contenedor horizontal para elementos HTML
w3-bar-bloque Contenedor vertical para elementos HTML
w3-bar-elemento Elementos de barra de contenedores
w3-barra lateral Barra lateral vertical para elementos HTML
w3-móvil Hace que cualquier elemento de la barra responda primero a dispositivos móviles
w3-desplegable-hover Elemento desplegable flotante
w3-desplegable-clic Elemento desplegable en el que se puede hacer clic (en lugar de pasar el mouse)

Navegación básica

La clase w3-bar es un contenedor para mostrar elementos HTML horizontalmente.

La clase w3-bar-item define los elementos del contenedor.

Es una herramienta perfecta para crear barras de navegación:

Ejemplo

<div class="w3-bar w3-black">
  <a href="#" class="w3-bar-item w3-button">Home</a>
  <a href="#" class="w3-bar-item w3-button">Link 1</a>
  <a href="#" class="w3-bar-item w3-button">Link 2</a>
  <a href="#" class="w3-bar-item w3-button">Link 3</a>
</div>



Navegación receptiva

La clase w3-mobile hace que los elementos de la barra respondan (horizontal en pantallas grandes y vertical en pantallas pequeñas).

Pantallas medianas y grandes:

Pantallas pequeñas:

Ejemplo

<div class="w3-bar w3-black">
  <a href="#" class="w3-bar-item w3-button w3-mobile">Home</a>
  <a href="#" class="w3-bar-item w3-button w3-mobile">Link 1</a>
  <a href="#" class="w3-bar-item w3-button w3-mobile">Link 2</a>
  <a href="#" class="w3-bar-item w3-button w3-mobile">Link 3</a>
</div>


Barras de navegación de colores

Use una clase w3-color para agregar un color a la barra de navegación:



Ejemplo

<div class="w3-bar w3-light-grey">
<div class="w3-bar w3-green">
<div class="w3-bar w3-blue">

Barras de navegación bordeadas

Use una clase w3-border o w3-card para agregar bordes alrededor de la barra de navegación o para mostrarla como una tarjeta:



Ejemplo

<div class="w3-bar w3-border w3-light-grey">
<div class="w3-bar w3-border w3-card-4">

Enlace activo/actual

Agregue una clase de color w3 a un enlace para resaltarlo:


Ejemplo

<div class="w3-bar w3-border w3-light-grey">
  <a href="#" class="w3-bar-item w3-button w3-green">Home</a>
  <a href="#" class="w3-bar-item w3-button">Link 1</a>
  <a href="#" class="w3-bar-item w3-button">Link 2</a>
  <a href="#" class="w3-bar-item w3-button">Link 3</a>
</div>


Enlaces flotantes

Cuando pasa el mouse sobre un botón, el color de fondo cambiará a gris.

Si desea un color de fondo diferente al pasar el mouse, use cualquiera de las clases w3-hover- color :

Ejemplo

<div class="w3-bar w3-border w3-light-grey">
  <a href="#" class="w3-bar-item w3-button">Home</a>
  <a href="#" class="w3-bar-item w3-button w3-hover-green">Link 1</a>
  <a href="#" class="w3-bar-item w3-button w3-hover-blue">Link 2</a>
  <a href="#" class="w3-bar-item w3-button w3-hover-teal">Link 3</a>
</div>

Si desea cambiar el color del texto, desactive el efecto de desplazamiento predeterminado con la clase w3-hover-none y agregue una clase w3-hover-text .

Ejemplo

<div class="w3-bar w3-border w3-black">
  <a href="#" class="w3-bar-item w3-button">Default</a>
  <a href="#" class="w3-bar-item w3-button w3-hover-none w3-text-grey w3-hover-text-white">Link 1</a>
  <a href="#" class="w3-bar-item w3-button w3-hover-none w3-text-grey w3-hover-text-white">Link 2</a>
  <a href="#" class="w3-bar-item w3-button w3-hover-none w3-text-grey w3-hover-text-white">Link 3</a>
</div>

Dedique algo de tiempo a jugar con diferentes efectos de desplazamiento:




Ejemplo

<div class="w3-bar">
<a href="#" class="w3-bar-item w3-button w3-hover-none w3-border-white w3-bottombar w3-hover-border-black">Link 1</a>
<a href="#" class="w3-bar-item w3-button w3-hover-none w3-border-white w3-bottombar w3-hover-border-black">Link 2</a>
<a href="#" class="w3-bar-item w3-button w3-hover-none w3-border-white w3-bottombar w3-hover-border-black">Link 3</a>
</div>


Enlaces alineados a la derecha

Use la clase w3-right en un elemento de la lista para alinear a la derecha un enlace específico:

Ejemplo

<div class="w3-bar w3-border w3-light-grey">
  <a href="#" class="w3-bar-item w3-button">Home</a>
  <a href="#" class="w3-bar-item w3-button">Link 1</a>
  <a href="#" class="w3-bar-item w3-button">Link 2</a>
  <a href="#" class="w3-bar-item w3-button w3-green w3-right">Link 3</a>
</div>


Tamaño de la barra de navegación

Use una clase de tamaño w3 para cambiar el tamaño de fuente de los enlaces dentro de la barra de navegación:


Ejemplo

<div class="w3-bar w3-green w3-large">
<div class="w3-bar w3-green w3-xlarge">

Use una clase de relleno w3 para cambiar el relleno de cada enlace dentro de la barra de navegación:


Ejemplo

<div class="w3-bar w3-border w3-green">
  <a href="#" class="w3-bar-item w3-button w3-padding-16">Home</a>
  <a href="#" class="w3-bar-item w3-button w3-padding-16">Link 1</a>
  <a href="#" class="w3-bar-item w3-button w3-padding-16">Link 2</a>
  <a href="#" class="w3-bar-item w3-button w3-padding-16">Link 3</a>
</div>

Nota: También puede agregar relleno a la barra de navegación, en lugar de cada botón. Sin embargo, si hace esto, tenga en cuenta que los enlaces no obtienen un relleno completo al pasar el mouse:

Ejemplo

<div class="w3-bar w3-green w3-padding-16"></div>

Personaliza el ancho de los enlaces con la propiedad de ancho CSS

( Nota : use w3-mobile para transformar los enlaces al 100% de ancho en pantallas pequeñas):


Ejemplo

<div class="w3-bar w3-dark-grey">
  <a href="#" class="w3-bar-item w3-button w3-mobile w3-green" style="width:33%">Home</a>
  <a href="#" class="w3-bar-item w3-button w3-mobile" style="width:33%">Link 1</a>
  <a href="#" class="w3-bar-item w3-button w3-mobile" style="width:33%">Link 2</a>
</div>

Barra de navegación con iconos

Ejemplo

<div class="w3-bar w3-light-grey w3-border">
  <a href="#" class="w3-bar-item w3-button w3-green"><i class="fa fa-home"></i></a>
  <a href="#" class="w3-bar-item w3-button"><i class="fa fa-search"></i></a>
  <a href="#" class="w3-bar-item w3-button"><i class="fa fa-envelope"></i></a>
  <a href="#" class="w3-bar-item w3-button"><i class="fa fa-globe"></i></a>
  <a href="#" class="w3-bar-item w3-button"><i class="fa fa-sign-in"></i></a>
</div>

Las clases "fa fa" en el ejemplo anterior muestran íconos "Font Awesome".

Obtenga más información sobre cómo mostrar iconos en el capítulo Iconos W3.CSS .


Texto de la barra de navegación

Si desea texto en lugar de botones dentro de la barra de navegación, use la clase w3-bar-item para obtener el mismo relleno que los botones.

Ejemplo

<div class="w3-bar w3-black">
  <a href="#" class="w3-bar-item w3-button">Home</a>
  <a href="#" class="w3-bar-item w3-button">Link 1</a>
  <a href="#" class="w3-bar-item w3-button">Link 2</a>
  <a href="#" class="w3-bar-item w3-button">Link 3</a>
  <span class="w3-bar-item">Text</span>
</div>

Barra de navegación con entradas y botones

Ejemplo

<div class="w3-bar w3-light-grey">
  <a href="#" class="w3-bar-item w3-button">Home</a>
  <a href="#" class="w3-bar-item w3-button">Link 1</a>
  <a href="#" class="w3-bar-item w3-button">Link 2</a>
  <input type="text" class="w3-bar-item w3-input" placeholder="Search..">
  <a href="#" class="w3-bar-item w3-button w3-green">Go</a>
</div>

Barra de navegación con menú desplegable

Mueva el mouse sobre el enlace "Desplegable":

Ejemplo

<div class="w3-bar w3-light-grey">
  <a href="#" class="w3-bar-item w3-button">Home</a>
  <a href="#" class="w3-bar-item w3-button">Link 1</a>
  <div class="w3-dropdown-hover">
    <button class="w3-button">Dropdown</button>
    <div class="w3-dropdown-content w3-bar-block w3-card-4">
      <a href="#" class="w3-bar-item w3-button">Link 1</a>
      <a href="#" class="w3-bar-item w3-button">Link 2</a>
      <a href="#" class="w3-bar-item w3-button">Link 3</a>
    </div>
  </div>
</div>

Menú desplegable en el que se puede hacer clic

Use w3-dropdown-click si prefiere hacer clic en el enlace desplegable en lugar de pasar el mouse:

Ejemplo

<div class="w3-dropdown-click">
  <button class="w3-button" onclick="myFunction()">
    Dropdown <i class="fa fa-caret-down"></i>
  </button>
  <div id="demo" class="w3-dropdown-content w3-bar-block w3-card-4">
    <a href="#" class="w3-bar-item w3-button">Link 1</a>
    <a href="#" class="w3-bar-item w3-button">Link 2</a>
    <a href="#" class="w3-bar-item w3-button">Link 3</a>
  </div>
</div>

Menú desplegable horizontal

Elimine la clase w3-bar-block del contenedor desplegable si desea que los enlaces desplegables se muestren horizontalmente en lugar de verticalmente:

Ejemplo

<div class="w3-bar w3-light-grey">
  <a href="#" class="w3-bar-item w3-button">Home</a>
  <a href="#" class="w3-bar-item w3-button">Link 1</a>
  <div class="w3-dropdown-hover">
    <button class="w3-button">Dropdown</button>
    <div class="w3-dropdown-content w3-card-4">
      <a href="#" class="w3-bar-item w3-button">Link 1</a>
      <a href="#" class="w3-bar-item w3-button">Link 2</a>
      <a href="#" class="w3-bar-item w3-button">Link 3</a>
    </div>
  </div>
</div>

Barra de navegación receptiva con menú desplegable receptivo

Use la clase w3-mobile en todos los enlaces, incluido el contenedor desplegable, para crear una barra de navegación receptiva con enlaces desplegables receptivos.

Cambie el tamaño de la ventana del navegador para ver el efecto:

Ejemplo

 <div class="w3-bar w3-black">
  <a href="#" class="w3-bar-item w3-button w3-mobile w3-green">Home</a>
  <a href="#" class="w3-bar-item w3-button w3-mobile">Link 1</a>
  <a href="#" class="w3-bar-item w3-button w3-mobile">Link 2</a>
  <div class="w3-dropdown-hover w3-mobile">
    <button class="w3-button">Dropdown <i class="fa fa-caret-down"></i></button>
    <div class="w3-dropdown-content w3-bar-block w3-dark-grey">
      <a href="#" class="w3-bar-item w3-button w3-mobile">Link 1</a>
      <a href="#" class="w3-bar-item w3-button w3-mobile">Link 2</a>
      <a href="#" class="w3-bar-item w3-button w3-mobile">Link 3</a>
    </div>
  </div>
</div>

Fixed Navigation Bar

To force the navigation bar to stay at the top or at the bottom of the page, even when the user scrolls the page, wrap a <div> element around the bar and add the w3-top or w3-bottom class:

Fixed Top

<div class="w3-top">
  <div class="w3-bar">
    ...
    ...
  </div>
</div>

Fixed Bottom

<div class="w3-bottom">
  <div class="w3-bar">
    ...
    ...
  </div>
</div>

Vertical Navigation Bar

The w3-bar-block class is a container for displaying HTML elements vertically.

Example

<div class="w3-bar-block w3-black">
  <a href="#" class="w3-bar-item w3-button">Home</a>
  <a href="#" class="w3-bar-item w3-button">Link 1</a>
  <a href="#" class="w3-bar-item w3-button">Link 2</a>
  <a href="#" class="w3-bar-item w3-button">Link 3</a>
</div>

Collapsing the Navigation Bar

When the navigation bar takes up too much space on a small screen, and you do not want to display it vertically by default, you can use hide and show classes on specific links in the navigation bar.

In the example below, the navigation bar is replaced with a button (☰) in the top right corner when shown on tablets and mobile devices. When the button is clicked, the links in the navigation bar will vertically stack:

Example


Side Navigation

The w3-sidebar class creates a side navigation:

Go to the next chapter to learn more about the side navigation.