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

li não herda o display grid do ul, seu pai

O problema é que o ul.cabecalho__nav_list está definido no código como display grid. Só que a primeira li filha desse ul está definida no dev tool como display list-item em uma espécie de folha de estilo automática do Chrome chamada "folha de estilo do user agent" Daí o layout para 768 px não funciona. e não aceita nem eu colocando esse li como display grid no código. Nunca me deparei com um problema assim! O que faço?? Obrigado!

3 respostas
solução!

Boa noite Marcos, tudo bem?

Isso acontece porque, por padrão, os elementos < li > possuem display: list-item, definido pela folha de estilo do user agent (o estilo padrão do navegador). Quando você define ul.cabecalhonav_list { display: grid; }, o navegador não altera automaticamente o display dos < li > dentro dela.

Tente forçar o display: grid para os < li > dentro da sua ul:

ul.cabecalho__nav_list {
  display: grid;
}

ul.cabecalho__nav_list li {
  display: grid; /* Sobrescrevendo o padrão list-item */
}

Se o problema persistir, tente usar display: contents, que pode ajudar os < li > a se comportarem melhor dentro do grid:

ul.cabecalho__nav_list li {
  display: contents;
}

O display: contents faz com que o < li > "desapareça" visualmente e seus filhos sejam tratados diretamente como parte do Grid, sem a interferência do list-item.

Se o layout ainda não funcionar como esperado, pode ser útil conferir o DevTools para ver se alguma outra regra está sobrescrevendo suas configurações. Você pode usar o !important como último recurso:

ul.cabecalho__nav_list li {
  display: grid !important;
}

Espero que tê-lo ajudado, bons estudos!

muito obrigado.

Na verdade nada funcionou! Vou comparar meu código com o do Github desta aula e ver se fiz algo errado!. Mas obrigado pela ajuda!