Como fazer - Grade de imagens
Saiba como criar uma Grade de Imagens.
Grade de imagens
Aprenda a criar uma galeria de imagens que varia entre quatro, duas ou imagens de largura total com o clique de um botão:
Criando uma grade de imagens
Etapa 1) Adicionar HTML:
Exemplo
<div class="row">
<div class="column">
<img
src="wedding.jpg">
<img src="rocks.jpg">
<img src="falls2.jpg">
<img src="paris.jpg">
<img src="nature.jpg">
<img src="mist.jpg">
<img src="paris.jpg">
</div>
<div
class="column">
<img src="underwater.jpg">
<img src="ocean.jpg">
<img src="wedding.jpg">
<img src="mountainskies.jpg">
<img src="rocks.jpg">
<img src="underwater.jpg">
</div>
<div
class="column">
<img src="wedding.jpg">
<img src="rocks.jpg">
<img src="falls2.jpg">
<img src="paris.jpg">
<img src="nature.jpg">
<img src="mist.jpg">
<img src="paris.jpg">
</div>
<div class="column">
<img src="underwater.jpg">
<img src="ocean.jpg">
<img src="wedding.jpg">
<img src="mountainskies.jpg">
<img src="rocks.jpg">
<img src="underwater.jpg">
</div>
</div>
Etapa 2) Adicionar CSS:
Use CSS Flexbox para criar o layout:
Exemplo
.row {
display: flex;
flex-wrap: wrap;
padding:
0 4px;
}
/* Create two equal columns that sits next to each other */
.column {
flex: 50%;
padding: 0 4px;
}
.column
img {
margin-top: 8px;
vertical-align: middle;
}
Etapa 3) Adicione JavaScript:
Crie uma exibição de grade controlável usando JavaScript:
Exemplo
<button onclick="one()">1</button>
<button onclick="two()">2</button>
<button onclick="four()">4</button>
<script>
// Get the elements with class="column"
var elements =
document.getElementsByClassName("column");
// Declare a
"loop" variable
var i;
// Full-width images
function one() {
for (i = 0; i < elements.length; i++) {
elements[i].style.flex = "100%";
}
}
// Two images side by side
function two() {
for (i = 0; i < elements.length; i++) {
elements[i].style.flex = "50%";
}
}
// Four images side by
side
function four() {
for (i = 0; i < elements.length; i++) {
elements[i].style.flex = "25%";
}
}
</script>
Dica: acesse nosso Tutorial de grade de imagem responsiva para aprender a criar uma grade de imagem responsiva, que varia entre as colunas, dependendo do tamanho da tela.
Dica: Acesse nosso Tutorial CSS Flexbox para saber mais sobre o módulo de layout de caixa flexível.