Como criar: Menu de navegação inferior responsivo

Aprenda a usar CSS e JavaScript para criar menus de navegação inferior responsivos.

Navegação inferior responsiva

Ajuste o tamanho da janela do navegador para ver como o menu de navegação responsiva funciona:

Experimente você mesmo

Criar uma barra de navegação inferior responsiva

Primeiro passo - Adicionar HTML:

<div class="navbar" id="myNavbar">
  <a href="#home">Início</a>
  <a href="#news">Notícias</a>
  <a href="#contact">Contato</a>
  <a href="#about">Sobre</a>
  <a href="javascript:void(0);" class="icon" onclick="myFunction()">☰</a>
</div>

Links com class="icon" são usados para abrir e fechar a barra de navegação em telas pequenas.

Segundo passo - Adicionar CSS:

/* Colocar a barra de navegação no fundo da página e torná-la fixa */
.navbar {
  background-color: #333;
  overflow: hidden;
  position: fixed;
  inferior: 0;
  width: 100%;
}
/* Definir o estilo dos links na barra de navegação */
.navbar a {
  float: left;
  exibir: bloco;
  cor: #f2f2f2;
  alinhamento-texto: centro;
  preenchimento: 14px 16px;
  decora-texto: nenhum;
  tamanho-fonte: 17px;
}
/* Mudar a cor do link ao passar o mouse sobre ele */
.navbar a:hover {
  cor-fundo: #ddd;
  cor: preto;
}
/* Adicionar cor de fundo verde para links ativos */
.navbar a.active {
  cor-fundo: #04AA6D;
  cor: branco;
}
/* Ocultar o link que deve abrir e fechar o navbar na tela pequena. */
.navbar .icon {
  exibir: nenhum;
}

Adicionar consulta de mídia:

/* Quando a largura da tela for menor que 600 pixels, ocultar todos os links exceto o primeiro ("Home") e exibir o link que deve abrir e fechar o navbar (.icon). */
@media screen and (largura-max: 600px) {
  .navbar a:not(:first-child) {exibir: nenhum;}
  .navbar a.icon {
    flutuante: direita;
    exibir: bloco;
  }
}
/* Quando o usuário clicar no ícone, usar JavaScript para adicionar a classe "responsive" ao navbar. */
Essa classe faz o navbar parecer melhor em telas pequenas (exibe links verticalmente em vez de horizontalmente) */
@media screen and (largura-max: 600px) {
  .navbar.responsive a.icon {
    posição: absoluta;
    direita: 0;
    inferior: 0;
  }
  .navbar.responsive a {
    flutuante: nenhum;
    exibir: bloco;
    alinhamento-texto: esquerda;
  }
}

Terceiro passo - Adicionar JavaScript:

/* Quando o usuário clicar no ícone, alternar entre adicionar e remover a classe "responsive" no navbar */
function myFunction() {
  var x = document.getElementById("myNavbar");
  if (x.className === "navbar") {
    x.className += " responsive";
  } else {
    x.className = "navbar";
  }
}

Experimente você mesmo

Páginas relacionadas

Tutorial:Barra de navegação CSS