Abas de navegação W3.CSS
Londres
Londres é a capital da Inglaterra.
É a cidade mais populosa do Reino Unido, com uma área metropolitana de mais de 9 milhões de habitantes.
Navegação com guias
A navegação com guias é uma maneira de navegar em um site.
Normalmente, a navegação com guias usa botões de navegação (guias) organizados junto com a guia selecionada realçada.
Este exemplo usa elementos com o mesmo nome de classe ("city" em nosso exemplo) e altera o estilo entre display:none e display:block para ocultar e exibir conteúdo diferente:
Exemplo
<div id="London" class="city">
<h2>London</h2>
<p>London is the capital
of England.</p>
</div>
<div id="Paris" class="city" style="display:none">
<h2>Paris</h2>
<p>Paris is the capital of France.</p>
</div>
<div
id="Tokyo" class="city" style="display:none">
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan.</p>
</div>
E alguns botões clicáveis para abrir o conteúdo com abas:
Exemplo
<div class="w3-bar w3-black">
<button class="w3-bar-item w3-button"
onclick="openCity('London')">London</button>
<button
class="w3-bar-item w3-button" onclick="openCity('Paris')">Paris</button>
<button class="w3-bar-item w3-button" onclick="openCity('Tokyo')">Tokyo</button>
</div>
E um JavaScript para fazer o trabalho:
Exemplo
function openCity(cityName) {
var i;
var x = document.getElementsByClassName("city");
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
document.getElementById(cityName).style.display = "block";
}
JavaScript explicado
A função openCity() é chamada quando o usuário clica em um dos botões do menu.
A função oculta todos os elementos com o nome de classe "city" ( display="none" ) e exibe o elemento com o nome de cidade fornecido ( display="block" );
Abas que podem ser fechadas
Londres
Londres é a capital da Inglaterra.
Para fechar uma guia, adicione onclick="this.parentElement.style.display='none'" a um elemento dentro do contêiner da guia:
Exemplo
<div id="London" class="w3-display-container">
<span onclick="this.parentElement.style.display='none'"
class="w3-button w3-display-topright">X</span>
<h2>London</h2>
<p>London is the capital city of England.</p>
</div>
Guia Ativo/Atual
Para destacar a guia/página atual em que o usuário está, use JavaScript e adicione uma classe de cor ao link ativo. No exemplo abaixo, adicionamos uma classe "tablink" a cada link. Dessa forma, é fácil obter todos os links associados às guias e dar ao link da guia atual uma classe "w3-red", para destacá-lo:
Exemplo
function openCity(evt, cityName) {
var i, x, tablinks;
x = document.getElementsByClassName("city");
for (i =
0; i < x.length; i++) {
x[i].style.display
= "none";
}
tablinks =
document.getElementsByClassName("tablink");
for (i =
0; i < x.length; i++) {
tablinks[i].className =
tablinks[i].className.replace(" w3-red", "");
}
document.getElementById(cityName).style.display =
"block";
evt.currentTarget.className += "
w3-red";
}
Abas Verticais
Exemplo
<nav class="w3-sidebar w3-bar-block w3-light-grey" style="width:130px">
<button class="w3-bar-item w3-button" onclick="openCity(event, 'London')">London</button>
<button class="w3-bar-item w3-button" onclick="openCity(event, 'Paris')">Paris</button>
<button class="w3-bar-item w3-button" onclick="openCity(event, 'Tokyo')">Tokyo</button>
</nav>
Conteúdo da guia animada
Use qualquer uma das classes w3-animate- para desvanecer, ampliar ou deslizar no conteúdo da guia:
Exemplo
<div id="London" class="w3-container city w3-animate-left">
<p>London is the capital city of England.</p>
</div>
Galeria de imagens com guias
Clique em uma imagem:
Exemplo
<a href="#" class="w3-hover-opacity" onclick="openImg('Nature');">
<img src="img_nature.jpg" alt="Nature">
</a>
<div id="Nature" class="picture w3-display-container">
<img
src="img_nature_wide.jpg" alt="Nature" style="width:100%">
<span onclick="this.parentElement.style.display='none'"
class="w3-display-topright">×</span>
<div
class="w3-display-bottomleft w3-container">Nature</div>
</div>
Guias em uma grade
Usando guias em um layout de terceira coluna. Observe que adicionamos uma borda inferior à guia ativa, em vez de uma cor de fundo: