Olá, Gustavo. Como vai?
Entendo perfeitamente a sua frustração. É muito comum que o comportamento no "Inspecionar" do navegador pareça correto, mas apresente problemas no dispositivo real devido a detalhes de renderização e box-model.
Analisando o seu código CSS e a imagem do seu celular, identifiquei os pontos que estão impedindo a centralização e causando o desalinhamento:
1. Problema de Overflow (Largura maior que a tela)
Na sua Media Query para 375px, você definiu para a section img uma largura de width: 380px. Como a tela do celular tem 375px (ou menos, dependendo do modelo), a imagem está "transbordando" para a direita. Isso impede que qualquer tentativa de centralização funcione, pois o elemento é maior que o próprio container.
2. Margens Fixas em vez de Automáticas
No header img, você usou margin: 32px 0 0 16px. Esse valor de 16px na esquerda empurra a imagem fixamente, impedindo que ela fique no centro.
Como ajustar para que funcione no celular:
Para centralizar elementos em telas pequenas, a melhor prática é usar display: block com margin: auto ou trabalhar com Flexbox no elemento pai. Tente realizar as seguintes alterações no seu bloco @media:
@media (max-width: 375px) {
/* Centralizando o Logo do Header */
header img {
display: block;
margin: 32px auto 0 auto; /* O 'auto' nas laterais centraliza o elemento */
}
/* Centralizando e ajustando o texto */
h1, p, a {
text-align: center; /* Garante que o texto interno esteja centralizado */
margin-left: auto;
margin-right: auto;
}
/* Ajustando as larguras para não estourarem a tela */
p {
font-size: 20px;
width: 90%; /* Use porcentagem para ser responsivo */
max-width: 341px;
}
/* Ajustando a Imagem Principal */
section img {
display: block;
margin: 0 auto;
width: 100%; /* Faz a imagem ocupar a largura da tela sem sobrar */
max-width: 350px; /* Garante que ela não fique gigante */
height: auto; /* Mantém a proporção da imagem sem achatar */
}
}
Dicas de Boas Práticas:
- Evite larguras fixas em pixels (px) para mobile: Sempre que possível, use
% ou vw (view width). Se você define algo com 380px em uma tela de 375px, o site ganhará uma barra de rolagem lateral horrível. - Meta tag Viewport: Verifique se no seu arquivo HTML, dentro do
<head>, existe esta linha:
<meta name="viewport" content="width=device-width, initial-scale=1.0">. Sem ela, o celular tenta "simular" um desktop e ignora suas Media Queries. - Cache do Navegador: Às vezes o celular guarda a versão antiga do site. Após salvar o código, tente abrir em uma guia anônima no celular para garantir que está vendo a alteração real.
Tente substituir os valores fixos por margin: auto e larguras em porcentagem, e você verá que os elementos se encaixarão perfeitamente.
Espero que possa ter lhe ajudado!