Introdução ao CSS Grid Layout

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

Introdução ao CSS Grid Layout

O CSS Grid Layout é uma poderosa ferramenta que permite a criação de layouts complexos de maneira simples e eficiente. Neste artigo, vamos explorar como usar o Grid Layout com exemplos práticos, incluindo propriedades como display: grid, grid-template-columns, grid-template-rows, grid-gap, e grid-area.

Tutorial CSS Básico
Tutorial CSS Básico

Introdução

Criar layouts web pode ser uma tarefa desafiadora, especialmente quando se trata de layouts complexos com múltiplas colunas e linhas. O CSS Grid Layout foi desenvolvido para facilitar essa tarefa, proporcionando uma maneira flexível e intuitiva de organizar elementos em uma grade bidimensional.

O Básico do CSS Grid Layout

Para começar a usar o CSS Grid, você precisa definir um contêiner de grade usando a propriedade display: grid. Em seguida, você pode definir as linhas e colunas da grade com propriedades como grid-template-columns e grid-template-rows.

Exemplo:

.container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; /* Três colunas de tamanho igual */
    grid-template-rows: auto; /* Altura automática para as linhas */
    grid-gap: 10px; /* Espaço entre os itens da grade */
}

Neste exemplo, .container é o contêiner de grade com três colunas de largura igual e um espaço de 10px entre os itens.

Propriedades Principais do CSS Grid Layout

1. grid-template-columns e grid-template-rows

Essas propriedades definem a estrutura das colunas e linhas da grade.

.container {
    display: grid;
    grid-template-columns: 200px 1fr 100px; /* Colunas com tamanhos diferentes */
    grid-template-rows: 100px 2fr; /* Linhas com tamanhos diferentes */
}

Neste exemplo, a primeira coluna tem 200px de largura, a segunda ocupa o espaço restante (1fr), e a terceira tem 100px de largura. A primeira linha tem 100px de altura, e a segunda ocupa duas vezes o espaço da primeira (2fr).

2. grid-gap

A propriedade grid-gap define o espaço entre as linhas e colunas da grade.

.container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 15px; /* Espaço de 15px entre os itens da grade */
}

3. grid-area

A propriedade grid-area permite que você posicione itens da grade em áreas específicas.

.container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 100px 100px;
    grid-gap: 10px;
}

.item1 {
    grid-area: 1 / 1 / 2 / 3; /* Item ocupa da linha 1 à 2 e da coluna 1 à 3 */
}

Neste exemplo, o item .item1 ocupa a primeira linha e se estende pelas duas primeiras colunas.

Criando um Layout Complexo com Grid Layout

Vamos criar um layout complexo usando o CSS Grid Layout, incluindo um cabeçalho, um menu lateral, um conteúdo principal e um rodapé.

CSS:

.container {
    display: grid;
    grid-template-columns: 200px 1fr;
    grid-template-rows: 100px auto 50px;
    grid-gap: 10px;
    grid-template-areas:
        "header header"
        "sidebar content"
        "footer footer";
    height: 100vh;
}

.header {
    grid-area: header;
    background-color: #4CAF50;
    color: white;
    text-align: center;
    padding: 20px;
}

.sidebar {
    grid-area: sidebar;
    background-color: #f4f4f4;
    padding: 20px;
}

.content {
    grid-area: content;
    background-color: #fff;
    padding: 20px;
}

.footer {
    grid-area: footer;
    background-color: #4CAF50;
    color: white;
    text-align: center;
    padding: 10px;
}

HTML:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Layout Complexo com CSS Grid</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="container">
        <div class="header">Cabeçalho</div>
        <div class="sidebar">Menu Lateral</div>
        <div class="content">Conteúdo Principal</div>
        <div class="footer">Rodapé</div>
    </div>
</body>
</html>

Neste exemplo, usamos a propriedade grid-template-areas para definir áreas nomeadas da grade e posicionar itens específicos nessas áreas.

Propriedades Avançadas

1. grid-column e grid-row

As propriedades grid-column e grid-row permitem que você controle a colocação dos itens da grade usando linhas e colunas de início e término.

.item2 {
    grid-column: 2 / span 2; /* Item ocupa a segunda e terceira colunas */
    grid-row: 1 / span 2; /* Item ocupa a primeira e segunda linhas */
}

2. grid-auto-flow

A propriedade grid-auto-flow controla como os itens são automaticamente colocados na grade.

.container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-flow: dense; /* Preenche automaticamente os espaços vazios */
}

Exemplo Prático Completo

Vamos ver um exemplo completo que demonstra um layout de página de portfólio usando CSS Grid Layout.

CSS:

.portfolio {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    grid-template-rows: auto;
    padding: 20px;
}

.project {
    background-color: #eee;
    padding: 20px;
    text-align: center;
}

.project.large {
    grid-column: span 2; /* Projeto maior ocupa duas colunas */
}

HTML:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Portfólio com CSS Grid</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="portfolio">
        <div class="project large">Projeto 1</div>
        <div class="project">Projeto 2</div>
        <div class="project">Projeto 3</div>
        <div class="project">Projeto 4</div>
        <div class="project">Projeto 5</div>
        <div class="project">Projeto 6</div>
    </div>
</body>
</html>

Neste exemplo, usamos grid-template-columns com a função repeat para criar três colunas de tamanho igual e aplicamos a classe .large a um projeto para que ele ocupe duas colunas.

Conclusão

O CSS Grid Layout é uma ferramenta poderosa que facilita a criação de layouts web complexos e flexíveis. Compreender e utilizar propriedades como display: grid, grid-template-columns, grid-template-rows, grid-gap, e grid-area pode transformar a maneira como você cria e organiza seus layouts web. Experimente o CSS Grid Layout para ver como ele pode simplificar o design de seus sites.

💡 Gostou do conteúdo?

Apoie-nos: Siga, Curta, Comente e Compartilhe!

📲 Conecte-se com o WebMundi:

▶️ YouTube

▶️ Facebook

▶️ Instagram

▶️ LinkedIn

▶️ TikTok

👥 Participe do nosso Discord para tirar dúvidas e ajudar outras pessoas!

🔗 Discord webmundi.com

Gostou do Post ? Compartilhe com seus amigos nas redes sociais.

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

☑️ Comunidades Colaborativas de Aprendizagem 💬

❓ Esclareça suas dúvidas e ajude outras pessoas a aprender sobre o assunto proposto em nossa comunidade colaborativa no Facebook.

Compartilhe ideias e atividades com outros membros enquanto aprendemos juntos em um ambiente virtual criado e mantido pelo webmundi.com.
Aproveite essa oportunidade gratuita para aprimorar seus conhecimentos e participar de discussões sobre o assunto que você está interessado.

☑️ Grupos WebMundi.com Facebook

✔️ Banco de dados : Dicas
▶️ https://bit.ly/dbbrasil

✔️ Windows Dicas
▶️ https://bit.ly/windowsdicas

✔️ Linux : Dicas, Truques e Tutoriais
▶️ https://bit.ly/linuxdicas

 

✔️ Dev Brasil : Desenvolvimento de Software : Programação (Java, Python, Javascript, Flutter, PHP, Html,CSS e muito mais)
▶️ https://bit.ly/devbrasil

✔️ Virtualização de Computadores : Tecnologia
▶️ https://bit.ly/virtualizabr

APOIE O WEBMUNDI.COM

Apoie o Projeto WebMundi.com!

Se você é fã do conteúdo gratuito e de qualidade que o WebMundi.com oferece no Site, Youtube e grupos, agora é a hora de demonstrar seu apoio e ajudar a mantê-lo disponível.
Qualquer doação, por menor que seja, será muito valiosa para nós e fará toda a diferença.

Basta utilizar o PIX ou o botão VALEU do Youtube para fazer sua contribuição.
Não perca essa oportunidade de ajudar a manter o WebMundi.com ativo e fornecer ainda mais conteúdo de qualidade para você e para outros.

Faça sua doação agora e seja parte da nossa comunidade de apoio!

Ajude a manter nossa criação de conteúdo e operação em funcionamento

Estrutura WebMundi | Sites e Canal Youtube

Ter presença na Internet implica em custos como:

  • Domínios (www.webmundi.com / www.webmundi.org)
  • Hospedagem (local onde fica a estrutura do site / páginas / banco de dados)
  • Softwares (programas utilizados para montar e manter o site em operação e edição de vídeo)
  • Layout e Desenvolvimento (profissionais que constroem, mantêm e divulgam o site e o canal)
  • Produção de Conteúdo (Profissionais como Redatores, Produtores, Editores de vídeo, etc…)
  • Certificados de Segurança (cadeado / segurança da página, possibilita a segurança na navegação e seus dados)
  • Manutenção do Site (atualizações do site, criação de novas páginas)

Loja Virtual | WebMundi.com

Outra forma de apoiar a criação de conteúdo no YouTube e em nossos sites é nossa loja virtual Parceria do WebMundi.com com as maiores plataformas de comércio eletrônico do Brasil. Nossa loja é integrada com nossos parceiros associados e possui uma ampla variedade de produtos de marcas renomadas. O Cliente ao escolher um produto é direcionado a loja parceira onde pode fazer sua compra com tranquilidade em um ambiente seguro e 100% confiável. Confira: Loja Virtual WebMundi.com Alguns de nossos parceiros associados:
Shopee Mercado Livre AliExpress Magalu Amazon
Obrigado pela confiança e preferência.

TALVEZ VOCÊ GOSTE TAMBÉM

Mais Assistidos
Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
Play Video about Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
atualizar windows 7 para windows 10 2020
Play Video about atualizar windows 7 para windows 10 2020
Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Play Video about Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Play Video about Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Como Instalar MySQL + MySQL Workbench : Windows 10
Play Video about Como Instalar MySQL + MySQL Workbench : Windows 10
Instalação Eclipse IDE - Windows
Play Video about Instalação Eclipse IDE - Windows

Discord : WebMundi.com

Uma comunidade apaixonada por tecnologia, onde entusiastas, estudantes e profissionais de TI se reúnem.

Faça Parte do nossa Comunidade!

Junte-se a nós para aprender, colaborar e expandir seus horizontes na área de informática! 🚀
Entrar
Recentes