1
resposta

Propriedade "font: inherit;" no CSS

Estava fazendo o curso de "HTML e CSS: responsividade com mobile-first" junto com a professora onde nós usamos o "reset.css", estava fazendo exatamente como ela na seguinte estrutura de pastas: Esquema de pastas

Como podemos ver, o reset.css está na mesma pasta que o styles.css e logo em seguida temos uma subpasta "styles" com o header.css e o banner.css. O que estava acontecendo era o seguinte, no styles.css nós tínhamos colocado "font-family: var(--fonte-principal);" (que aplica a fonte Poppins), o que era pra acontecer, assim como estava no arquivo da professora, era para aplicar a fonte Poppins nos arquivos header.css e banner.css porém no meu caso não estava aplicando. Fui procurar algo no reset.css e encontrei o "font: inherit;" e pesquisei sobre, vi que setava algo sobre a hierarquia, apaguei esse comando no reset.css e funcionou do jeito que eu esperava, aplicou a fonte no header e no banner, então voltei esse comando para o reset e decidi aplicar uma classe no body para ter um peso maior do que o reset e acabar por aplicar a fonte, e está funcionando do jeito que deveria.

Porém eu queria saber o porque que a professora puxou apenas pelo body e funcionou, ja vi os arquivos do projeto no github e não tem nenhuma diferença com o meu, se alguém puder me ajudar fico imensamente agradecido.

Arquivo do projeto da professora: https://github.com/alura-cursos/alurabooks/blob/aula02/styles.css

Arquivo do meu projeto:https://github.com/Layel52/alura-books/blob/master/styles.css

1 resposta

Olá João, tudo bem contigo?

Pelo que entendi, você estava tendo problemas em aplicar a fonte correta nos arquivos header.css e banner.css do seu projeto, mesmo seguindo o mesmo código da professora, que aplicava a fonte no body. Você então removeu o comando font: inherit; do reset.css e aplicou uma classe no body para garantir que a fonte fosse aplicada corretamente nos arquivos header.css e banner.css.

É difícil determinar a razão exata pela qual a abordagem da professora funcionou apenas com a aplicação da fonte no body, enquanto no seu caso foi necessário remover o comando do reset.css e aplicar uma classe no body. Pode haver várias possíveis explicações para isso, como diferenças na configuração do ambiente de desenvolvimento, versões de navegadores, ou outros fatores específicos do seu projeto.

No entanto, uma possível explicação é a hierarquia de estilos no CSS. Quando múltiplos estilos são aplicados a um elemento, a hierarquia de estilos é levada em consideração para determinar qual estilo deve ser aplicado. Estilos aplicados diretamente a um elemento têm prioridade sobre estilos aplicados a elementos pais. Portanto, ao aplicar a fonte diretamente no body, você pode ter conseguido sobrepor o estilo do reset.css e fazer com que a fonte fosse aplicada nos elementos filhos, como header e banner.

Porém, é importante ressaltar que a melhor prática, em geral, é evitar a manipulação direta do body para estilização de elementos específicos, e em vez disso utilizar classes ou IDs para aplicar estilos de forma mais específica e modular. Dessa forma, seu código fica mais organizado, mais fácil de manter e menos propenso a conflitos de estilos.

Espero que isso tenha te ajudado a entender a situação!

Se tiver mais dúvidas ou precisar de mais informações, estou à disposição.

Um abraço e bons estudos.