DEV Community

Cover image for Corte imagens no CSS com object-fit
AllyTiago
AllyTiago

Posted on • Updated on • Originally published at blog.allytiago.me

Corte imagens no CSS com object-fit

Aquele momento em que você faz uma página toda bonita e precisa adicionar uma imagem 1:1 mas tem uma 3:4, o que fazer? Bom, eu acredito que você queira ir até um editor gráfico para recortar a imagem. Mas, e se eu te falar que tem como fazer este recorte sem precisar do editor, somente usando o CSS? Você acredita? Se sim, ótimo, mas se não acredita, este post vai te mostrar que é possível.

Para que a imagem seja cortada, será necessário de uma única propriedade, o object-fit, que especifica como o conteúdo deve ficar dentro do atributo determinado e para isso, eu irei te mostrar como usa-lo e o significado de seus 5 valores.

Usplash: person hand holding photo frame
Usplash: person hand holding photo frame

Será usada essa imagem acima como exemplo, ela possui originalmente 1920px de largura e 1280px altura e foi reduzida para 300px de largura e altura, isso não irá perder a qualidade, mas vai achatar. O object-fit pode ajudar, e eu irei mostrar as diferenças entre cada um.

O contain faz com que a imagem se reduza para conter dentro do espaço definido, sem que haja cortes.

O cover faz com que a imagem sofra um zoom até que todas as bordas sejam preenchidas.

O fill faz com que a imagem seja achatada para que ela caiba totalmente no espaço.

O none irá usar um algoritmo para capturar o trecho da imagem correspondente ao tamanho definido.

O scale-down dimensiona a imagem se o none ou contain for especificado, fazendo com que a imagem tenha um tamanho menor.

Suporte dos navegadores

Desktop:

Chrome Firefox Opera Safari Edge Internet Explorer
31 36 19 10 79 Não tem

Smartphone / Tablet:

Chrome Firefox Opera Safari Android WebView
81 68 24 10.0-10.2 4.4.3-4.4.4

Referências


Top comments (0)