The aspect ratio of a screen or display is the proportional relationship between its width and height. An aspect ratio is represented by two integers separated by a colon which is the proportion between the width and height. In web design, we use the aspect ratio to describe that an image's width & height should be resized proportionally to each other.
When we place an image on our webpage and resize it a little, we often run into the problem that the image goes out of proportion. There are a few ways to tackle this problem and preserve the aspect ratio of an image.
object-fit
propertyIn CSS, the object-fit
property lets us adjust how we want our image to be displayed inside our image
element. Let's look at how we can use this property.
The following code shows an image without applying the object-fit
property. Click the run button to see the output. This might take a few seconds for it to appear.
Run the component below and notice how after applying the property, the image compresses and fits the width and height that we have set on the image
tags.
To learn more about how to implement the
object-fit
property, click here.
aspect-ratio
CSS propertyThe aspect-ratio
property allows us to maintain proportional dimensions where the height and width of an image are calculated automatically as a ratio.
This property can take two values—auto
and <ratio>
. auto
is the default value, whereas the <ratio>
contains two numeric values separated by a /
representing the width and height. We can see this here:
aspect-ratio: auto || <ratio>;
aspect-ratio: 4 / 3;
aspect-ratio: 16 / 9;
aspect-ratio: 1 / 1;
aspect-ratio: 0.5;
The following snippet demonstrates the implementation of the above-mentioned property:
The most common way to maintain the aspect ratio is to set the width and height of the image manually. We set the width of our image to our desired size and set the height to auto
and vice versa. Here's how we do it:
<img src="image.jpg" style="width: 200px; height: auto;"/><img src="image.jpg" style="width: auto; height: 200px;"/>
Free Resources