Como criar: Grade expandida
- Página anterior Layout de quatro colunas
- Próxima página Vista de grade de lista
Aprenda como usar CSS e JavaScript para criar uma grade expandível.
Grade expandida
Clique em uma caixa para "expandir" ela (largura de 100%):
Caixa 1
Caixa 2
Caixa 3
Crie uma grade expandida
Primeiro passo - Adicionar HTML:
<!-- Grade: três colunas --> <div class="row"> <div class="column" onclick="openTab('b1');" style="background:green;">Caixa 1</div> <div class="column" onclick="openTab('b2');" style="background:blue;">Caixa 2</div> <div class="column" onclick="openTab('b3');" style="background:red;">Caixa 3</div> </div> <!-- Expande a grade (oculta por padrão) --> <div id="b1" class="containerTab" style="display:none;background:green"> Se você quiser a capacidade de fechar o contêiner, adicione um botão de fechar <span onclick="this.parentElement.style.display='none'" class="closebtn">x</span> <h2>Caixa 1</h2> <p>Lorem ipsum..</p> </div> <div id="b2" class="containerTab" style="display:none;background:blue"> <span onclick="this.parentElement.style.display='none'" class="closebtn">x</span> <h2>Caixa 2</h2> <p>Lorem ipsum..</p> </div> <div id="b3" class="containerTab" style="display:none;background:red"> <span onclick="this.parentElement.style.display='none'" class="closebtn">x</span> <h2>Caixa 3</h2> <p>Lorem ipsum..</p> </div>
Segundo passo - Adicionar CSS:
Criar três colunas:
/* Grade: três colunas iguais, flutuando umas entre outras */ .column { float: left; width: 33.33%; padding: 50px; text-align: center; font-size: 25px; cursor: pointer; color: white; } .containerTab { padding: 20px; color: white; } /* Limpar flutuando após as colunas */ .row:after { content: ""; display: table; clear: both; } /* Botão closável dentro da imagem */ .closebtn { float: right; color: white; font-size: 35px; cursor: pointer; }
Terceiro passo - Adicionar JavaScript:
// Ocultar todos os elementos com class="containerTab" exceto aqueles que correspondem à coluna clicável function openTab(tabName) { var i, x; x = document.getElementsByClassName("containerTab"); for (i = 0; i < x.length; i++) { x[i].style.display = "none"; } document.getElementById(tabName).style.display = "block"; }
- Página anterior Layout de quatro colunas
- Próxima página Vista de grade de lista