Segue o código CSS do desafio proposto na aula: CSS:
.corpo {
background-color: #444444;
padding: 16px;
width: 100vw;
height: 100vh;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr 1fr;
gap: 16px;
}
.cabecalho {
background-color: #cc2a2a;
border-radius: 10px;
min-width: 50px;
min-height: 50px;
grid-column: span 4;
}
.lateral {
background-color: #45cc2a;
border-radius: 10px;
min-width: 50px;
min-height: 50px;
grid-row: span 3;
}
.meio {
background-color: #2aa6cc;
border-radius: 10px;
min-width: 50px;
min-height: 50px;
grid-column: span 2;
grid-row: span 3;
}
.direita-cima {
background-color: #352acc;
border-radius: 10px;
min-width: 50px;
min-height: 50px;
}
.direita-baixo {
background-color: #cc2a96;
border-radius: 10px;
min-width: 50px;
min-height: 50px;
grid-row: span 2;
}
Solucionar o desafio foi simples. Como todos classe pai ".corpo" possuía um padding de 8px e das classes filhas também, isso significa que o espaçamento total era de 16px. Portanto para obter o mesmo espaçamento retirando a configuração margin das classes filhas, foi necessário alterar o padding da classe pai ".corpo" para 16px para compensar os 8px de margem retirados das classes filhas, e adicionar o atributogap: 16px
a classe pai, para que o espaçamento entre as classes filhas fosse definido como 16px.