Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Como utilizar o display Grid em mais de um ponto do código?

Olá, boa noite! Estou criando um layout mobile first com o CSS Grid e me ocorreu uma dúvida. Criei o layout do body com o display grid e defini as propriedades (vou mandar um escopo genérico do que fiz)

body{
display: grid;
grid-template-areas:
        "barra-de-progresso" 
        "header"
        "main"
        "footer";
    grid-template-columns: 100%;
    grid-template-rows: 20px auto 100vh auto auto;
}

E nisso, defini 5 seções no main

<div class="barra-de-progresso"> ... </div>
<header class="header"></header>
<main class="main">
    <section class="a"></section>
    <section class="b"></section>
    <section class="c"></section>
    <section class="d"></section>
    <section class="e"></section>
</main>
<footer class="footer"></footer>

E no main também defini o display como GRID

display: grid;
    grid-area: a-content;
    grid-template-areas:
        "a" 
        "a"
        "c"
        "d"
        "e";
    grid-template-columns: 100%;
    grid-template-rows: calc(100vh - 75px) repeat(4, 100vh);

E defini um grid-area para cada seção

.a{ grid-area: a; }
.b{ grid-area: b; }
.c{ grid-area: c; }
.d{ grid-area: d; }
.e{ grid-area: e; }

E por fim, dentro da seção a eu também quero definir um layout em grid, mais ou menos assim

.a{
display: grid;
grid-template-columns: auto;
    grid-template-rows: repeat(2, 50%);
}

Porém, ainda não defini o grid-area para as demais partes do body e nisso o layout da <section class="a"></section> fica quebrado.

Gostaria de saber se isto é correto de se fazer, ou como posso concertar este erro. Gostaria de usar o display: grid pois com o flex-box eu sei fazer mas quero aprender a utilizar o CSS Grid

Se estiver muito confuso o escopo eu posto o código completo do projeto aqui :D

Abraços

3 respostas

Oi, André, tudo bem?

Manda aqui o teu projeto completo para que possa ver e testar com todas as propriedades que utilizou :} Aguardo.

Opa Laís tudo bom? Vou fazer amanhã um git com o projeto e te mando aqui :D Creio que consegui resolver o problema (que estava na formatação das medidas dos atributos columns e rows), mas mandarei mesmo assim hehehe

solução!

Laís acabou que consegui resolver hehehe Não upei pro Git pq é um projeto pessoal (um site pra minha namorada) mas li a documentação do MDN e entendi meu erro.

Eu "setei" o grid principal com altura de 100vh além de colocar como auto, por isso ta a quebrando quando colocava auto no grid secundário. Mas mt obg pela resposta

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software