Barras de navegação W3.CSS


Horizontal:



Casa Link 1 Texto

Classes da barra de navegação W3.CSS

W3.CSS fornece as seguintes classes para barras de navegação:

Classe Define
w3-bar Recipiente horizontal para elementos HTML
w3-bar-block Recipiente vertical para elementos HTML
w3-bar-item Elementos da barra de contêiner
barra lateral w3 Barra lateral vertical para elementos HTML
w3-móvel Torna qualquer elemento de barra responsivo para dispositivos móveis
w3-dropdown-hover Elemento suspenso flutuante
w3-dropdown-clique Elemento suspenso clicável (em vez de passar o mouse)

Navegação básica

A classe w3-bar é um contêiner para exibir elementos HTML horizontalmente.

A classe w3-bar-item define os elementos do contêiner.

É uma ferramenta perfeita para criar barras de navegação:

Exemplo

<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>



Navegação responsiva

A classe w3-mobile torna qualquer elemento de barra responsivo (horizontal em telas grandes e vertical em telas pequenas).

Telas médias e grandes:

Telas pequenas:

Exemplo

<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 navegação coloridas

Use uma classe w3-color para adicionar uma cor à barra de navegação:



Exemplo

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

Barras de navegação com bordas

Use uma classe w3-border ou w3-card para adicionar bordas ao redor da barra de navegação ou para exibi-la como um cartão:



Exemplo

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

Link Ativo/Atual

Adicione uma classe w3-color a um link para destacá-lo:


Exemplo

<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>


Links flutuantes

Quando você passa o mouse sobre um botão, a cor de fundo muda para cinza.

Se você quiser uma cor de fundo diferente ao passar o mouse, use qualquer uma das classes w3-hover- color :

Exemplo

<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>

Se você quiser alterar a cor do texto, desative o efeito de foco padrão com a classe w3-hover-none e adicione uma classe w3-hover-text .

Exemplo

<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>

Passe algum tempo para brincar com diferentes efeitos de foco:




Exemplo

<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>


Links alinhados à direita

Use a classe w3-right em um item de lista para alinhar à direita um link específico:

Exemplo

<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>


Tamanho da barra de navegação

Use uma classe w3-size para alterar o tamanho da fonte dos links dentro da barra de navegação:


Exemplo

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

Use uma classe de preenchimento w3 para alterar o preenchimento de cada link dentro da barra de navegação:


Exemplo

<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: Você também pode adicionar preenchimento à barra de navegação, em vez de cada botão. No entanto, se você fizer isso, observe que os links não recebem preenchimento completo ao passar o mouse:

Exemplo

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

Personalize a largura dos links com a propriedade de largura do CSS

( Nota : Use w3-mobile para transformar os links em 100% de largura em telas pequenas):


Exemplo

<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 navegação com ícones

Exemplo

<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>

As classes "fa fa" no exemplo acima exibem ícones "Font Awesome".

Aprenda mais sobre como exibir ícones no capítulo Ícones W3.CSS .


Texto da barra de navegação

Se você quiser texto em vez de botões dentro da barra de navegação, use a classe w3-bar-item para obter o mesmo preenchimento dos botões.

Exemplo

<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>

Navbar com entradas e botões

Exemplo

<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 navegação com menu suspenso

Mova o mouse sobre o link "Suspenso":

Exemplo

<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>

Lista suspensa clicável

Use w3-dropdown-click se preferir clicar no link suspenso em vez de passar o mouse:

Exemplo

<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>

Menu suspenso horizontal

Remova a classe w3-bar-block do contêiner suspenso se desejar que os links suspensos sejam exibidos horizontalmente em vez de verticalmente:

Exemplo

<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 navegação responsiva com menu suspenso responsivo

Use a classe w3-mobile em todos os links, incluindo o contêiner suspenso, para criar uma barra de navegação responsiva com links suspensos responsivos.

Redimensione a janela do navegador para ver o efeito:

Exemplo

 <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.