Domine float e clear: o guia completo de CSS antigo
Aprenda CSS Grid: Áreas Nomeadas e Espaçamento com gap
Neste tutorial, exploraremos como criar e organizar áreas dentro do Grid CSS usando a propriedadeClasses e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters.
grid-template
e como aplicar corretamente o espaçamento entre elementosCriando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança.-areas
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. por meio de
gap
. Vamos descobrir, de forma narrativa e simples, como essa técnica pode nos ajudar a ter um maior controle na hora de posicionar os elementosTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. em um layout, melhorando a legibilidade e a manutenção do código.
Conceitos Básicos🔗
O CSS GridIntrodução ao Grid: display: grid, grid-template-columns/rowsAprenda os fundamentos do CSS Grid e transforme seus projetos com layouts responsivos e organizados, usando técnicas modernas e práticas. nos permite construir grades bidimensionais, oferecendo maior flexibilidade e clareza na hora de montar layouts. Uma das abordagens mais poderosas, porém simples de se compreender, é o uso de áreas nomeadas. Esse recurso reforça a organização e facilita a compreensão sobre onde cada elemento
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. deve ficar, uma vez que nomeamos pedaços do grid em vez de contar colunas e linhas.
O que são áreas nomeadas?
- grid-template
Criando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança.-areas: Define regiões (slots) onde cada elemento
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. filho do grid será posicionado;
- grid-area: Atribui cada elemento
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. do grid a uma área nomeada específica definida previamente.
Quando escrevemos o templateCriando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança. de áreas, desenhamos um “mapa” textual do layout, definindo cada região com um nome que servirá como referência para posicionar os itens.
Definindo Áreas com grid-template-areas🔗
Para usar grid-template
, precisamos primeiro criar um container gridCriando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança.-areas
Introdução ao Grid: display: grid, grid-template-columns/rowsAprenda os fundamentos do CSS Grid e transforme seus projetos com layouts responsivos e organizados, usando técnicas modernas e práticas., definindo:
1. display: grid
para ativar o Grid Layout;Introdução ao Grid: display: grid, grid-template-columns/rowsAprenda os fundamentos do CSS Grid e transforme seus projetos com layouts responsivos e organizados, usando técnicas modernas e práticas.;
2. Dimensões das colunas e linhas (por exemplo, grid-template-columns
e Introdução ao Grid: display: grid, grid-template-columns/rowsAprenda os fundamentos do CSS Grid e transforme seus projetos com layouts responsivos e organizados, usando técnicas modernas e práticas.
grid-template-rows
);Introdução ao Grid: display: grid, grid-template-columns/rowsAprenda os fundamentos do CSS Grid e transforme seus projetos com layouts responsivos e organizados, usando técnicas modernas e práticas.
3. O mapa textual com grid-template
.Criando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança.-areas
Um exemplo simples de um layout com três áreas: cabeçalhoFormatação de Texto: `<p>`, `<h1>-<h6>`, `<strong>`, `<em>`Aprenda a formatar textos em HTML com tags de parágrafo, títulos e destaques, organizando seu conteúdo e garantindo semântica. (header), conteúdo principal
Tags Semânticas: `<header>`, `<nav>`, `<main>`, `<footer>`, `<article>`, `<section>`Descubra como as tags semânticas do HTML5 melhoram a organização, acessibilidade e manutenção do seu site, facilitando a leitura e SEO. (main) e rodapé (footer).
.container {
display: grid;
grid-template-columns: 1fr; /* 1 Fração, ocupando toda a largura */
grid-template-rows: 60px 1fr 40px; /* Três linhas: cabeçalho, conteúdo e rodapé */
grid-template-areas:
"header"
"main"
"footer";
}
Repare como o valor de grid-template
é definido entre aspas, formando uma espécie de desenho de como o layout deve ficar. Esse modelo indica que cada linha do layout terá apenas uma área:Criando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança.-areas
1. Primeira linha: "header"
2. Segunda linha: "main"
3. Terceira linha: "footer"
Associando cada elemento à sua área
Depois de definir o templateCriando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança., precisamos dizer a cada item em qual área ele deve ficar, usando
grid-area
. Por exemplo:
.header {
grid-area: header;
}
.main {
grid-area: main;
}
.footer {
grid-area: footer;
}
Assim, os elementosTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. com as classes
.header
, .main
e .footer
se encaixarão nas posições correspondentes do “mapa” que definimos em grid-template
.Criando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança.-areas
Organizando Layouts Mais Complexos🔗
Podemos criar layouts mais elaborados organizando áreas lado a lado ou em múltiplas linhas. Por exemplo, um layout com duas colunas – barra lateral (aside) e conteúdo principalTags Semânticas: `<header>`, `<nav>`, `<main>`, `<footer>`, `<article>`, `<section>`Descubra como as tags semânticas do HTML5 melhoram a organização, acessibilidade e manutenção do seu site, facilitando a leitura e SEO. (main) – e um cabeçalho no topo:
.container {
display: grid;
grid-template-columns: 200px 1fr;
grid-template-rows: 60px 1fr;
grid-template-areas:
"header header"
"aside main";
}
Neste caso, o cabeçalhoFormatação de Texto: `<p>`, `<h1>-<h6>`, `<strong>`, `<em>`Aprenda a formatar textos em HTML com tags de parágrafo, títulos e destaques, organizando seu conteúdo e garantindo semântica. ocupa a largura
Seletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. total da primeira linha (
"header header"
), enquanto a segunda linha se divide em duas áreas ("aside main"
). Em seguida, cada elementoTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. recebe sua área:
.header {
grid-area: header;
}
.aside {
grid-area: aside;
}
.main {
grid-area: main;
}
gap para Espaçamento🔗
Uma das melhores maneiras de aprimorar a aparênciaRelação entre HTML e CSSDescubra como HTML e CSS trabalham juntos para criar páginas web esteticamente agradáveis e bem estruturadas, facilitando a manutenção e o desempenho. e a usabilidade de um layout em CSS Grid
Introdução ao Grid: display: grid, grid-template-columns/rowsAprenda os fundamentos do CSS Grid e transforme seus projetos com layouts responsivos e organizados, usando técnicas modernas e práticas. é adicionar espaçamento entre elementos. Para isso, utilizamos a propriedade
Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters.
gap
.
- gap: Define o espaçamento entre linhas e colunas do grid.
Podemos aplicar gap
de duas formas:
1. gap: 20px;
→ Aplica 20px de espaço nas duas direções (horizontal e vertical).
2. column-gap
e row-gap
→ Definem espaçamentos diferentes para colunas e linhas, respectivamente.
Exemplo Prático
.container {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
grid-template-rows: 100px 200px;
grid-template-areas:
"header header header"
"aside main main";
gap: 10px;
}
- grid-template-columns
Introdução ao Grid: display: grid, grid-template-columns/rowsAprenda os fundamentos do CSS Grid e transforme seus projetos com layouts responsivos e organizados, usando técnicas modernas e práticas.: Dividimos em três colunas (1fr, 2fr, 1fr).
- grid-template-rows
Introdução ao Grid: display: grid, grid-template-columns/rowsAprenda os fundamentos do CSS Grid e transforme seus projetos com layouts responsivos e organizados, usando técnicas modernas e práticas.: Duas linhas (100px, 200px).
- grid-template
Criando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança.-areas: Layout acima, com:
- Linha 1: “header header header”
- Linha 2: “aside main main”
- gap: 10px: Espaço de 10px entre os blocos, tanto em linha quanto em coluna.
Vantagens e Boas Práticas🔗
1. Legibilidade: Nomear as áreas facilita a comunicação dentro da equipe e torna o código mais compreensível.
2. Manutenção: Caso o layout precise de ajustes ou reestruturação, basta alterar as áreas definidas em grid-template
sem mexer individualmente em cada item.Criando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança.-areas
3. Espaçamento Inteligente: Utilize gap
para separar elementosTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis., evitando margens repetidas em cada item do grid. Isso deixa o layout mais uniforme e limpo.
Exemplo Completo🔗
Abaixo, um pequeno exemplo integrando áreas e gap para ilustrar um layout de landing page simplificado:
<div class="container">
<header class="header">Cabeçalho</header>
<aside class="aside">Menu Lateral</aside>
<main class="main">Conteúdo Principal</main>
<footer class="footer">Rodapé</footer>
</div>
.container {
display: grid;
grid-template-columns: 200px 1fr;
grid-template-rows: 60px 1fr 60px;
grid-template-areas:
"header header"
"aside main"
"footer footer";
gap: 15px;
}
.header {
grid-area: header;
background-color: #f8f8f8;
}
.aside {
grid-area: aside;
background-color: #ddd;
}
.main {
grid-area: main;
background-color: #eee;
}
.footer {
grid-area: footer;
background-color: #ccc;
}
Observe como cada nome de área do grid-templateCriando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança.-areas combina com a propriedade
Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters.
grid-area
em cada classeAtributos HTML: `id`, `class`, `style`, `data-*`Aprenda a aplicar atributos id, class, style e data-* no HTML para organizar, estilizar e dinamizar sua página com praticidade e eficiência.. Além disso, o
gap: 15px;
cria um espaçamento uniforme em todo o layout.
Conclusão🔗
O uso de áreas nomeadas com grid-template
e a aplicação de espaços com Criando e Gerenciando Templates DinâmicosAprenda a utilizar templates dinâmicos para criar interfaces web eficientes. Descubra técnicas com JavaScript puro integrando boas práticas e segurança.-areas
gap
simplificam grandemente a criação de layouts organizados e fáceis de manter. Ao nomear regiões, você cria uma referência visual mais clara, facilitando a leitura e manutenção do código. Além disso, centralizar a responsabilidade do espaçamento via gap
torna mais fluido o ajuste de margens entre os elementosTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis., mantendo o layout consistente.
Com esse conhecimento, você está pronto para estruturar projetos que exijam organização complexa, mas de forma intuitiva e reenquadrável com facilidade. Esse é o poder do CSS GridIntrodução ao Grid: display: grid, grid-template-columns/rowsAprenda os fundamentos do CSS Grid e transforme seus projetos com layouts responsivos e organizados, usando técnicas modernas e práticas. alicerçado por áreas nomeadas e espaçamento (gap). Experimente criar seus próprios layouts e descubra como essa abordagem pode diminuir significativamente a complexidade do seu CSS
O que é CSS?Descubra como o CSS transforma a aparência das páginas web, separando conteúdo de design para melhor organização e flexibilidade.!
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- DevDocs - Documentação rápida de CSS: devdocs.io/css/
- FreeCodeCamp - Curso de CSS Responsivo: www.freecodecamp.org/learn/responsive-web-design/#basic-css
- MDN Web Docs - Documentação oficial do CSS: developer.mozilla.org/pt-BR/docs/Web/CSS
- W3Schools - Tutoriais de CSS para iniciantes e avançados: www.w3schools.com/css/