6.1 Propriedade grid-gap
O CSS Grid Layout oferece ferramentas flexíveis para gerenciar o espaço entre os elementos da grade. As propriedades
grid-gap
, grid-row-gap
e grid-column-gap
permitem definir facilmente a distância
entre linhas e colunas, o que ajuda a criar layouts limpos e organizados. Vamos analisar essas propriedades em mais detalhes.
A propriedade grid-gap
(abreviada como gap
) define a distância geral entre linhas e colunas na grade.
Esta propriedade é uma forma abreviada de grid-row-gap
e grid-column-gap
.
Sintaxe:
.grid-container {
grid-gap: value;
}
Onde:
-
value
: valor do intervalo entre linhas e colunas. Pode ser especificado em várias unidades de medida (px
,%
,fr
,auto
e assim por diante)
Exemplo 1: Valor único para linhas e colunas
Neste exemplo, o intervalo de 20px
será aplicado tanto às linhas quanto às colunas:
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 100px);
grid-gap: 20px; /* Espaço de 20px entre todas as linhas e colunas */
}
Exemplo 2: Diferentes valores para linhas e colunas
Neste exemplo, dois valores são usados: o primeiro (10px
) para linhas, o segundo (20px
) para colunas:
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 100px);
grid-gap: 10px 20px; /* 10px entre linhas, 20px entre colunas */
}
6.2 Propriedade grid-row-gap
A propriedade grid-row-gap
define a distância entre as linhas na grade. Isso permite definir um valor separado
para o intervalo entre linhas, independentemente das colunas.
Sintaxe:
.grid-container {
grid-row-gap: value;
}
Onde:
value
: valor do intervalo entre linhas. Pode ser especificado em várias unidades de medida
Exemplo 1: Definindo um intervalo fixo entre linhas
Neste exemplo, a distância entre as linhas será 15px
:
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 100px);
grid-row-gap: 15px; /* Espaço de 15px entre as linhas */
}
Exemplo 2: Usando porcentagens para definir o intervalo
Neste exemplo, a distância entre as linhas será 5%
da altura da linha:
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 100px);
grid-row-gap: 5%; /* Espaço de 5% da altura da linha */
}
6.3 Propriedade grid-column-gap
A propriedade grid-column-gap
define a distância entre as colunas na grade. Isso permite definir um valor separado
para o intervalo entre colunas, independentemente das linhas.
Sintaxe:
.grid-container {
grid-column-gap: value;
}
Onde:
value
: valor do intervalo entre colunas. Pode ser especificado em várias unidades de medida
Exemplo 1: Definindo um intervalo fixo entre colunas
Neste exemplo, a distância entre as colunas será 25px
:
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 100px);
grid-column-gap: 25px; /* Espaço de 25px entre as colunas */
}
Exemplo 2: Usando em para definir o intervalo
Neste exemplo, a distância entre as colunas será 2em
:
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 100px);
grid-column-gap: 2em; /* Espaço de 2em entre as colunas */
}
6.4 Uso combinado de grid-row-gap e grid-column-gap
Você pode combinar as propriedades grid-row-gap
e grid-column-gap
para um controle mais preciso
dos intervalos entre linhas e colunas.
Exemplo de implementação completa:
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr); /* Três colunas de largura igual */
grid-template-rows: repeat(3, 100px); /* Três linhas de altura fixa */
grid-row-gap: 15px; /* Espaço de 15px entre as linhas */
grid-column-gap: 25px; /* Espaço de 25px entre as colunas */
}
.grid-item {
background-color: #3498db;
color: white;
padding: 20px;
text-align: center;
border: 1px solid #fff;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exemplo de uso de grid-gap, grid-row-gap e grid-column-gap</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="grid-container">
<div class="grid-item item1">Elemento 1</div>
<div class="grid-item item2">Elemento 2</div>
<div class="grid-item item3">Elemento 3</div>
<div class="grid-item item4">Elemento 4</div>
<div class="grid-item item5">Elemento 5</div>
<div class="grid-item item6">Elemento 6</div>
</div>
</body>
</html>
Explicação do código:
-
.grid-container
: cria um contêiner Grid com três colunas de largura igual e três linhas de altura fixa. Usa as propriedadesgrid-row-gap
egrid-column-gap
para definir os espaços entre as linhas e colunas -
.grid-item
: define estilos básicos para os elementos da grade, como cor de fundo, cor do texto, espaçamento, centralização de texto e borda
GO TO FULL VERSION