A classe gap no Tailwind CSS define o espaçamento entre elementos filhos dentro de um container com display: grid ou display: flex (quando o flex-wrap estiver ativo). Diferente de margin e padding, que afetam o espaço dentro ou fora de um único elemento, o gap atua entre os itens irmãos.
Como usar
<div class="grid grid-cols-3 gap-4">
<div class="bg-gray-100 p-4">Item 1</div>
<div class="bg-gray-200 p-4">Item 2</div>
<div class="bg-gray-300 p-4">Item 3</div>
</div>
Neste exemplo, gap-4 cria um espaço de 1rem (16px) entre as colunas e linhas da grade.
Com flex e flex-wrap
Quando aplicado em containers flexíveis com quebra de linha (flex-wrap), o gap também funciona como espaçamento entre os itens.
<div class="flex flex-wrap gap-2">
<span class="bg-blue-100 p-2">Tag 1</span>
<span class="bg-blue-100 p-2">Tag 2</span>
<span class="bg-blue-100 p-2">Tag 3</span>
</div>
Direções específicas
Você pode aplicar gap apenas na direção horizontal ou vertical:
-
gap-x-*: espaçamento horizontal entre colunas -
gap-y-*: espaçamento vertical entre linhas
<div class="grid grid-cols-2 gap-x-8 gap-y-4">
<div class="bg-indigo-100 p-4">1</div>
<div class="bg-indigo-200 p-4">2</div>
<div class="bg-indigo-300 p-4">3</div>
<div class="bg-indigo-400 p-4">4</div>
</div>
Escala de valores
A escala de gap segue a mesma usada em margin e padding, como:
-
gap-0,gap-1,gap-2, ...,gap-96 -
gap-px: 1px de espaço
Responsividade com gap
Você pode usar classes responsivas para adaptar o espaçamento conforme o tamanho da tela:
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2 sm:gap-4 lg:gap-8">
<!-- Conteúdo -->
</div>
O uso do gap proporciona um controle limpo e semântico do espaçamento entre elementos, reduzindo a necessidade de margens manuais e facilitando a construção de layouts bem espaçados e simétricos.