Explorando o Subgrid: Avance Seus Layouts com CSS Grid
Domine o CSS Grid: Crie Layouts Incríveis com Facilidade
O 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. Grid é um poderoso sistema de layout que permite criar estruturas bidimensionais (linhas e colunas) de forma simples e organizada. Ao contrário de outras técnicas de layout, como float ou Flexbox
Fundamentos do Flexbox: display: flex, flex-direction, flex-wrapDescubra como o Flexbox revoluciona seus layouts com display flex, flex-direction e flex-wrap. Aprenda a criar designs responsivos e organizados., o Grid foi desenhado especificamente para solucionar desafios de organização de elementos
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. em linhas e colunas, otimizando a criação de layouts mais complexos.
Neste tutorial, vamos explorar os princípios básicos do CSS Grid, entendendo como funciona 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. display: grid e como definir colunas e linhas com grid-template e
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.-columnsgrid-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.-rows
O que é display: grid?🔗
Para começar a criar um layout com Grid, precisamos informar ao navegador que o 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. será um grid container. Isso é feito definindo 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. display como grid. Assim, todos os elementos
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. filhos desse container tornam-se grid items, passando a respeitar as configurações de linhas e colunas que você especificar posteriormente.
Exemplo básico de uso do display: grid:
<div class="container">
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
</div>
.container {
display: grid; /* Torna o container um grid */
background-color: #f2f2f2; /* Exemplo de estilo */
}
.item {
background-color: #ffcc00;
border: 1px solid #999;
padding: 10px;
text-align: center;
}
Sem nenhuma configuração adicional, o Grid organizará automaticamente os itens. Porém, só veremos o verdadeiro poder dessa técnica ao definirmos o tamanho das colunas e/ou linhas.
Definindo colunas: grid-template-columns🔗
Para criar colunas, utilizamos grid-template. É possível definir o tamanho das colunas de diversas maneiras, como em
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.-columnspx, % ou utilizando unidades fracionais (fr). Cada valor corresponde a uma coluna.
Grid Responsivo: fr, minmax(), repeat()Descubra como criar grids flexíveis e responsivos com CSS Grid, explorando fr, minmax() e repeat() para layouts modernos em seu site.
Por exemplo, se quisermos 3 colunas, sendo:
1. A primeira com 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. fixa de 200px
2. A segunda ajustando-se de forma flexível com 1fr
3. A terceira também flexível com 1fr
Podemos fazer assim:
.container {
display: grid;
grid-template-columns: 200px 1fr 1fr;
}
Dessa forma, o navegador:
- Reserva
200pxpara a primeira coluna. - Divide o espaço restante igualmente entre as colunas definidas com
1fr.
Exemplo prático
<div class="container">
<div class="item">Col 1</div>
<div class="item">Col 2</div>
<div class="item">Col 3</div>
</div>
.container {
display: grid;
grid-template-columns: 200px 1fr 1fr;
gap: 10px; /* Espaçamento entre colunas (e linhas também, se houver) */
margin: 0 auto;
max-width: 800px;
}
.item {
background-color: #ffcc00;
border: 1px solid #999;
padding: 10px;
text-align: center;
}
Dica: O uso de fr (frações) para criar colunas flexíveis é muito comum, pois facilita a criação de layouts responsivos e bem ajustados.
Definindo linhas: grid-template-rows🔗
Assim como definimos colunas, podemos definir linhas usando grid-template. A sintaxe é bem similar aos valores de
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.-rowsgrid-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.-columns
Se quisermos duas linhas com alturas de 150px cada, podemos fazer:
.container {
display: grid;
grid-template-columns: 1fr 1fr; /* Duas colunas para exemplo */
grid-template-rows: 150px 150px;
}
Nesse caso, nosso container terá:
- 2 colunas (1fr para cada, totalizando 2 frações
Grid Responsivo: fr, minmax(), repeat()Descubra como criar grids flexíveis e responsivos com CSS Grid, explorando fr, minmax() e repeat() para layouts modernos em seu site. horizontais). - 2 linhas (cada uma com 150px de altura
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. fixa).
Exemplo prático
<div class="container">
<div class="item">C1 L1</div>
<div class="item">C2 L1</div>
<div class="item">C1 L2</div>
<div class="item">C2 L2</div>
</div>
.container {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 150px 150px;
gap: 10px;
max-width: 600px;
margin: 0 auto;
}
.item {
background-color: #ffcc00;
border: 1px solid #999;
padding: 10px;
text-align: center;
}
Observação: Se você tiver mais itens do que as células definidas, eles serão organizados automaticamente em novas linhas (sem altura definida), a menos que sejam especificadas regras adicionais.
Exemplo unindo colunas e linhas🔗
Para ver o Grid em ação de forma mais clara, podemos criar um container com 3 colunas e 2 linhas, mesclando valores em pixels e fr
Grid Responsivo: fr, minmax(), repeat()Descubra como criar grids flexíveis e responsivos com CSS Grid, explorando fr, minmax() e repeat() para layouts modernos em seu site.. Observe o pequeno exemplo abaixo:
<div class="container">
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
<div class="item">Item 4</div>
<div class="item">Item 5</div>
<div class="item">Item 6</div>
</div>
.container {
display: grid;
grid-template-columns: 150px 1fr 2fr;
grid-template-rows: 100px 100px;
gap: 10px;
max-width: 1000px;
margin: 0 auto;
}
.item {
background-color: #ffcc00;
border: 1px solid #999;
padding: 10px;
font-weight: bold;
display: flex; /* Apenas para centralizar o texto */
justify-content: center;
align-items: center;
}
Nesta configuração:
- A primeira coluna tem
150pxde 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. fixa. - A segunda usa
1fr, e a terceira2fr, fazendo com que o espaço restante seja dividido em 3 partes, onde a segunda coluna recebe 1 parte, e a terceira coluna recebe 2 partes. - Cada linha tem
100pxde altura
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. fixa. - Criamos 6 células, pois há 3 colunas × 2 linhas.
Conclusão🔗
A introdução ao Grid abre um mundo de possibilidades para criar layouts mais complexos, organizados e responsivos
Responsividade com HTML: Viewport e `<picture>`Descubra como usar a meta viewport e o elemento picture para imagens responsivas, garantindo desempenho, usabilidade e SEO de qualidade. de forma intuitiva. Definir display: grid e configurar colunas e linhas com grid-template e
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.-columnsgrid-template é o ponto de partida para dominar esse recurso poderoso do CSS
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.-rows
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..
Nos próximos passos de estudos, você poderá explorar outras propriedades importantes - como alinhamento, espaçamento, áreas de grid e técnicas para tornar o layout ainda mais dinâmico e personalizável. Por ora, pratique o uso dessas propriedades
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. básicas para construir uma base sólida de conhecimento no 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. Grid.
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: devdocs.io/css/
- FreeCodeCamp: www.freecodecamp.org/learn/responsive-web-design/#basic-css
- MDN Web Docs: developer.mozilla.org/pt-BR/docs/Web/CSS
- W3Schools: www.w3schools.com/css/
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 11 meses atrás
há 10 meses atrás