aspect-ratio
no CSSaspect-ratio
simplifica esse desafio, permitindo definir uma
proporção fixa para um elemento.aspect-ratio
para manter uma imagem com proporção
16:9, independentemente do tamanho do contêiner.aspect-ratio
:
aspect-ratio: 16/9
para garantir que a imagem sempre mantenha uma
proporção de 16:9.object-fit: cover
:
<figure>
<img src="example.jpg" alt="demo image">
</figure>
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 */
}
figure
:
figure
) tem uma largura de 100% e uma proporção de aspecto fixa de 16:9.
overflow: hidden
garante que qualquer parte da imagem que ultrapasse o contêiner seja
cortada.img
:
object-fit: cover
faz com que a imagem cubra todo o espaço do contêiner, mantendo sua
proporção original.Layout Responsivo:
Sem Distorções:
Simplicidade:
aspect-ratio
elimina a necessidade de cálculos manuais ou hacks para
manter a proporção.Suporte a Navegadores:
aspect-ratio
é relativamente nova e pode não ser suportada em navegadores
mais antigos.Fallback para Navegadores Antigos:
aspect-ratio
, considere usar técnicas como padding
hack (ex.: padding-top: 56.25%
para 16:9).<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;
}
aspect-ratio
é uma solução moderna e eficaz para manter
proporções de aspecto em elementos como imagens e vídeos.object-fit: cover
, ela garante que o conteúdo visual seja exibido de forma
consistente e sem distorções.