2
respostas

[Dúvida] MARGIN E PADDING RESPONSIVOS

Prezados, boa noite!

Fiquei com uma dúvida sobre a responsividade: de acordo com as aulas, para os textos utilizaremos o "rem" e para os demais elementos, a porcentagem (%).

Nesse caso, para todas as margens e paddings, é recomendável a utilização em porcentagem? Essa configuração permite a correção das margens com base na resolução da tela?

Resumo da minha dúvida: qual a melhor maneira de tratar margens e preenchimentos especificamente?

Obrigado!

2 respostas

A escolha entre rem, %, px, vh/vw, entre outras unidades, depende do comportamento esperado para a responsividade do seu layout.

Como tratar margens e paddings corretamente?

  1. Para textos:

    • Utilize rem (ou em, se for relativo ao elemento pai).
    • Exemplo: font-size: 1.2rem; → Isso garante escalabilidade com base no tamanho da fonte raiz.
  2. Para margens e paddings:

    • % (porcentagem): Funciona bem para elementos flexíveis, pois a porcentagem será relativa ao tamanho do elemento pai.
      • Exemplo: margin-left: 5%; → Se o pai tiver width: 1000px, a margem será 50px.
    • rem: Ideal para manter um espaçamento consistente, pois será baseado no tamanho da fonte raiz (html { font-size: 16px; }, por padrão).
      • Exemplo: padding: 1rem; → Será 16px, independentemente do elemento pai.
    • px: Bom para elementos que não devem mudar de tamanho, mas não é recomendado para layouts responsivos.

Como garantir boa responsividade?

  • Para componentes flexíveis, prefira % ou vw/vh.
  • Para textos e espaçamentos previsíveis, use rem.
  • Combinar unidades pode ser ideal. Exemplo:
    .container {
      width: 80%;
      max-width: 1200px;
      margin: 0 auto; /* Centraliza */
      padding: 2rem; /* Mantém espaçamento consistente */
    }
    

Se o objetivo for ajustar margens automaticamente conforme a resolução, usar % junto com flexbox/grid pode ajudar bastante. O uso de rem mantém espaçamentos proporcionais sem depender do tamanho do elemento pai.

Prezado Carlos,

Muito obrigado pelo retorno! Ajudou a esclarecer minhas dúvidas.

No entanto, sobre o rem para espaçamento, não entendi muito bem seu papel para um "preenchimento consistente".

Isso quer dizer que, ao aumentar/diminuir o zoom, consequentemente as margens/preenchimento irão se adequar? Pois a fonte permanece a mesma independente do aumento/diminuição da tela, certo?