aspect-ratio → padding-bottom
Converta uma proporção (aspect-ratio, ex. 16:9) em padding-bottom %, a técnica clássica para caixas responsivas em CSS antigo. Ideal para vídeos e imagens.
CSS
—
CSS aspect-ratio: do hack do padding à propriedade nativa
Antes de 2021, reservar espaço para um vídeo 16:9 significava o hack do padding-top: um wrapper com padding-top: 56.25% (resultado de 9/16 * 100) e o conteúdo posicionado absolutamente dentro. O truque funcionava porque padding em porcentagem é resolvido contra a largura do container, forçando indiretamente uma altura proporcional. Era engenhoso — e custoso de manter, porque cada filho exigia posicionamento absoluto.
O CSS moderno substitui tudo isso por uma única propriedade: aspect-ratio: 16 / 9. Chrome 88+, Firefox 89+ e Safari 15+ já têm suporte nativo. O navegador calcula a dimensão que falta automaticamente, então os filhos fluem normalmente — sem position: absolute, sem wrapper extra, sem matemática manual de porcentagem.
Razões comuns para memorizar
- 16:9 — vídeo HD e embeds do YouTube (razão ≈ 1,7778);
- 4:3 — TV antiga e dispositivos legados;
- 1:1 — posts quadrados do Instagram e avatares;
- 9:16 — Stories, Reels e TikTok vertical;
- 21:9 — formato cinematográfico ultrawide;
- 1.91:1 — imagens de Open Graph e Twitter card (1200x630).
Casos de uso
Vídeos embeddados, placeholders de imagem, thumbnails de card, hero sections — qualquer caixa que precisa manter a forma independente da largura. Combine aspect-ratio com object-fit no conteúdo: cover preenche e corta, contain ajusta com letterbox, fill estica.
.video {
aspect-ratio: 16 / 9;
width: 100%;
}
.video iframe,
.video img {
width: 100%;
height: 100%;
object-fit: cover;
}
Core Web Vitals e CLS
Um dos principais motivos para adotar aspect-ratio é o Cumulative Layout Shift. Quando uma imagem ou iframe carrega depois do resto da página, o conteúdo pula a menos que o slot já tenha tamanho conhecido. Declarar uma razão reserva esse espaço de cara — antes mesmo do metadado carregar — mantendo o CLS perto de zero. O mesmo efeito pode ser obtido em <img> com os atributos width e height, mas para iframes e imagens de CSS, aspect-ratio é a solução mais limpa.
Razões responsivas
A razão pode trocar com media queries ou container queries. Um hero pode ser 21:9 no desktop e 4:5 no mobile para manter o ponto focal visível. Combinada com srcset para variantes de imagem, o resultado é um layout que respeita direção de arte e performance ao mesmo tempo.
Perguntas frequentes
Como deixar um iframe do YouTube responsivo? Aplique (no elemento ou em um wrapper) aspect-ratio: 16 / 9 com width: 100%. Sem padding hack, sem position absolute.
O hack do padding-top ainda é necessário? Só para navegadores legados como IE11. Todos os navegadores modernos suportam a propriedade; em contextos muito antigos, mantenha o hack como fallback envolto em @supports not (aspect-ratio: 1).
O aspect-ratio realmente evita layout shift? Sim, esta é a principal contribuição de performance. Ao reservar o slot antes do asset carregar, ele impede que o conteúdo abaixo pule quando o asset chega — exatamente o comportamento medido pelo Google como CLS.
E se o conteúdo for mais alto do que a razão permite? A propriedade é tratada como dica. Se o conteúdo interno não couber, a caixa cresce além da razão (ela respeita min-content). Use overflow ou tamanho fixo para forçar o contrário.
Ferramentas Relacionadas
Gerador de Receita Café (Brew Ratio)
Gera receita passo a passo (V60, Aeropress, French Press, Cold Brew) com razão café/água, gramatura e tempos de bloom e pour.
Gerador de UTM em Massa (CSV)
Gere URLs UTM em massa a partir de uma matriz de fontes, mídias e campanhas em CSV. Exporta lista pronta para tracking em planilha.
Gerador de PIN de Bloqueio de Tela
Gera PIN numérico evitando sequências fracas (1234, 0000, datas comuns, repetidos) com nível de segurança.