1
resposta

Problemas com Grid-column e grid -row AJUDAAA

Estou tentando deixar o menu lateral na primeira linha, porem o menu continua abaixo do cabeçalho. Já tentei rever a aula umas 10x mas nao estou conseguindo encontrar o que estou fazendo de errado. Aula em questão é a Sétima aula da parte 5. Responsividade com grid

HTML

Diogo

<nav class="menu-lateral">
    <img src="/img/logo.svg" alt="logotipo da HZC" class="menu-lateral__logo">
    <a href="" class="menu__lateral-link menu__lateral-link--inicio menu__lateral-link--ativo">Inicio</a>
    <a href="" class="menu__lateral-link menu__lateral-link--videos menu__lateral-link--ativo">Videos</a>
    <a href="" class="menu__lateral-link menu__lateral-link--picos menu__lateral-link--ativo">Picos</a>
    <a href="" class="menu__lateral-link menu__lateral-link--integrantes menu__lateral-link--ativo">Integrantes</a>
    <a href="" class="menu__lateral-link menu__lateral-link--camisas menu__lateral-link--ativo">Camisas</a>
    <a href="" class="menu__lateral-link menu__lateral-link--pinturas menu__lateral-link--ativo">Pinturas</a>
</nav>

<main class="principal">
    <h2 class="titulo-pagina">Inicio</h2>
    <article class="cartao cartao--destaque">
        <img class="cartao__imagem" src="/img/banner-mobile_1.png" alt="banner do cartao">
        <div class="cartao__conteudo">
            <p class="cartao__destaque">Vídeo em destaque</p>
            <h3 class="cartao__titulo">HZC - Life is... / 2021</h3>
            <p class="cartao__perfil">William Alves</p>
            <p class="cartao__info cartao__info--tempo">33 Minutos</p>
            <p class="cartao__info cartao__info--visualizacoes">53 visualizações</p>
            <button class="cartao__botao cartao__botao--play cartao__botao--destaque">Assistir Agora</button>
        </div>
    </article>

CSS

@media screen and (min-width: 1440px) { .menu-lateral { position: static; width: 200px; grid-column: 1; grid-row: 1 / span 2; } }

1 resposta

Oiii, Diogo! Como você está?

No Media Query do projeto, a classe .menu-lateral ocupa a primeira coluna, por isso colocamos grid-column: 1;. Inicia na linha 1 e abrange duas linhas, por isso colocamos grid-row: 1 / span 2;

É necessário colocar também no Media Query o cabeçalho e o conteúdo principal na segunda coluna, por isso as classes .cabecalho e .principal precisam do item grid-column: 2;.

Dessa forma, o menu lateral não vai ficar abaixo do cabeçalho.

Assim, no Media Query , a classe .cabecalho fica assim:

.cabecalho {
        background-color: #1D232A;
        display: grid;
        column-gap: 32px;
        grid-template-columns: 1fr auto;
        padding: 16px 60px;
        height: 80px;
        box-sizing: border-box;
        grid-column: 2;
    }

A classe .menu-lateral assim:

.menu-lateral {
        position: static;
        width: 200px;
        grid-column: 1;
        grid-row: 1 / span 2;
    }

E a classe .principal assim:

.principal {
        display: grid;
        grid-template-columns: auto 1fr auto;
        column-gap: 32px;
        padding: 16px 60px;
        grid-column: 2;
    }

Em caso de mais dúvidas, me coloco à disposição.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!