Mantendo a Proporção de Aspecto com a Propriedade aspect-ratio no CSS


Como Funciona?


Código HTML

<figure>
    <img src="example.jpg" alt="demo image">
</figure>

Código CSS

figure {
    width: 100%; /* Largura do contêiner */
    aspect-ratio: 16/9; /* Proporção de aspecto 16:9 */
    overflow: hidden; /* Esconde qualquer conteúdo que ultrapasse o contêiner */
}

figure img {
    width: 100%; /* Largura da imagem igual ao contêiner */
    height: 100%; /* Altura da imagem igual ao contêiner */
    object-fit: cover; /* Cobrir o contêiner sem distorcer a imagem */
}

Explicação do Código

  1. figure:

  2. img:


Benefícios

  1. Layout Responsivo:

  2. Sem Distorções:

  3. Simplicidade:


Considerações

  1. Suporte a Navegadores:

  2. Fallback para Navegadores Antigos:


Exemplo Prático

<figure>
    <img src="example.jpg" alt="demo image">
</figure>
figure {
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
}

figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

Conclusão