Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Span no grid-row e grid-column

O instrutor fez de uma maneira diferente da minha, mas tive o mesmo resultado (Faça como eu fiz). Fiquei em dúvida sobre como usar o grid-column: span 4; E quando uso ele grid-column: 4 / span 4; // É a mesma coisa ??

Fiz da forma abaixo : HTML:

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="grid.css">
</head>
<body class="corpo">
    <header class="cabecalho"></header>
    <nav class="lateral"></nav>
    <section class="meio"></section>
    <section class="direita-cima"></section>
    <section class="direita-baixo"></section>
</body>
</html>

Css:

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.corpo {
    background-color: #444444;
    padding: 8px;
    width: 100vw;
    height: 100vh;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
}

.cabecalho {
    background-color: #cc2a2a;
    border-radius: 10px;
    min-width: 50px;
    min-height: 50px;
    margin: 8px;
    grid-column: 1 / span 4;
    grid-row: 4;
}

.lateral {
    background-color: #45cc2a;
    border-radius: 10px;
    min-width: 50px;
    min-height: 50px;
    margin: 8px;
    grid-row: 1 / span 3;
    grid-column: 4;
}

.meio {
    background-color: #2aa6cc;
    border-radius: 10px;
    min-width: 50px;
    min-height: 50px;
    margin: 8px;
    grid-column: 2 / span 2;
    grid-row: 1 / span 3;
}

.direita-cima {
    background-color: #352acc;
    border-radius: 10px;
    min-width: 50px;
    min-height: 50px;
    margin: 8px;
    grid-row: 3;
}

.direita-baixo {
    background-color: #cc2a96;
    border-radius: 10px;
    min-width: 50px;
    min-height: 50px;
    margin: 8px;
    grid-row: span 2;
}
1 resposta
solução!

Olá, Edvan. Como vai?

Parabéns! Ficou muito bom o resultado! :)

A única diferença em relação ao desafio é que a linha vermelha ocupa todo o espaçamento na parte de cima do layout, não na debaixo. Mas está muito bom de qualquer forma!

Respondendo sua dúvida, escrever nesse caso grid-column: 4 / span 4; não vai alterar nada, pois no projeto está definido no grid-template-columns 4 colunas(1fr 1fr 1fr 1fr), então ele não vai conseguir ocupar 4 colunas a partir da quarta coluna, pois elas não existem.

Você pode testar o comportamento aumentando o número de colunas (1fr), se você definir grid-column: 4 / span 4, ele vai ocupar a partir da coluna 4, 4 colunas, que vai dar até a coluna 7. Pois do 4 até 7 conta-se 4 colunas. coluna 4 coluna 5 coluna 6 coluna 7

O mesmo comportamento se aplica também para o grid-row.

Consegui ajudar em sua dúvida? Espero que sim!

Fico aguardando seu retorno e desejo uma excelente virada de ano! :)

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