¡Hola, Dev!
Al aventurarte en este mundo del front-end, seguro que ya te has encontrado con un problema al redimensionar tus imágenes o iframes en CSS, ¿verdad? En este artículo vamos a hablar sobre una propiedad que te puede ayudar con este problema: el Object-fit.
Si ya conoces CSS, probablemente ya has oído hablar de una propiedad llamada background-size. Esta fue creada para dimensionar la imagen de fondo de un componente, así podemos controlar la forma en que la imagen ocupa el área del cuadro (box). Por otro lado, el Object-fit, a pesar de tener un propósito similar, fue desarrollado para imágenes insertadas directamente en la marcación HTML, y no solamente las insertadas como background-image.
En este artículo, abordaremos:
La propiedad Css Object-fit se utiliza para especificar cómo un objeto (imagen, vídeo, iframe o embed) debe ser redimensionado para ajustarse a su contenedor.
Hace referencia a diversos modos de rellenar el contenido dentro del contenedor, como preservar la proporción o estirar y ocupar el máximo del espacio posible.
Para que podamos percibir la diferencia cuando usamos esta propiedad, necesitamos definir una altura y anchura predefinida.
La sintaxis del object-fit posee algunas configuraciones. Veamos algunas de ellas:
object-fit : none
object-fit : fill
object-fit : contain
object-fit : cover
object-fit : scale-dow
¡Adelante vamos a compreender cada una!
Observa el ejemplo abajo:
Al observar la imagen, notamos que, con el object-fit: none
, la imagen no es redimensionada, de forma que mantiene sus dimensiones originales. Pero, si es menor que el contenedor, la imagen entera será exhibida con su tamaño original. Ya si fuera mayor que el contenedor, será cortada.
Observamos cómo se ve el ejemplo abajo:
Notamos que, si la proporción del contenedor y la etiqueta <img loading="lazy">
no son las mismas, la imagen será estirada.
Este es el valor estándar de la propiedad object-fit
. Utilizando este valor, el contenido será redimensionado al tamaño del contenedor independientemente de su proporción.
En este ejemplo, veamos un comportamiento diferente:
Percibimos que si la proporción de la imagen es diferente de la de la etiqueta <img loading="lazy">
, quedará una parte del contenedor sin imagen.
Utilizando este valor, la imagen será redimensionada manteniendo su proporción para que toda la imagen quede dentro del contenedor.
Vamos el ejemplo:
Con este valor, la imagen es redimensionada manteniendo su proporción; sin embargo, será redimensionada para que no quede ningún espacio vacío en el contenedor, como vimos en el ejemplo anterior.
Ocasionalmente, será cortada para encajar en el caso de que la proporción de la imagen original no corresponda a la proporción de la caja del contenido.
Observa:
Imágenes menores que el tamaño del contenedor permanecen del mismo tamaño (como cuando utilizamos object-fit: none
) y las imágenes mayores que el tamaño del contenedor son redimensionadas para encajar en él (como en el object-fit: contain
). Utilizando este valor, percibimos que se comporta como si la propiedad object-fit
tuviera el valor none
o contain
dependiendo de cuál de ellos resulta en una imagen menor.
¿Increíble, verdad? Utilizando esta propiedad puedes redimensionar cualquier elemento directamente en la marcación HTML
. Además, recuerda que no se utiliza solamente para imágenes, sino también para iframes, vídeos y embeds.
¿Te gustó aprender más sobre object-fit? Te dejo acá esta Formación de HTML y CSS de Alura Latam para que conozcas más sobre HTML y CSS.
Este artículo fue traducido y adaptado por Ingrid Silva
Lorena es estudiante de Análisis y Desarrollo de Sistemas y, actualmente, es monitora de la escuela de Front-end. Le encanta aprender cosas nuevas y compartirlas con otras personas. En su tiempo libre le gusta jugar videojuegos variados, leer libros y ver animes.
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Puedes realizar el pago de tus planes en moneda local en los siguientes países:
País | |||||||
---|---|---|---|---|---|---|---|
Plan Semestral |
487.37
BOB |
68314.51
CLP |
305385.67
COP |
65.90
USD |
265.11
PEN |
1424.44
MXN |
2977.87
UYU |
Plan Anual |
738.82
BOB |
103560.24
CLP |
462944.29
COP |
99.90
USD |
401.89
PEN |
2159.35
MXN |
4514.26
UYU |
Acceso a todos
los cursos
Estudia las 24 horas,
dónde y cuándo quieras
Nuevos cursos
cada semana