Home > Article > Web Front-end > Resize images proportionally using CSS
In order to make the application responsive, we also need to make the images responsive. If the image is unresponsive, overflow occurs in the application and looks the worst.
Therefore, we also need to increase or decrease the size of the image proportionally based on the size of the parent element. Here we will learn various ways to proportionally resize images using CSS.
Users can resize images proportionally using the "width" CSS property following the following syntax.
img { width: 100%; height: auto; }
In the above syntax, we set 100% width and auto-height for the image to make it responsive.
In the example below, we create a div element, specify the "image" class name, and add an image as a child element inside the div element.
In CSS, we set the width of the div element as a percentage, equal to 30% of the total width. Additionally, we set a 100% width and automatic height for the image. Users can change the screen size and watch the image size decrease and increase in proportion to the screen size.
<html> <head> <style> .image { width: 30%; margin: 0 auto; border: 3px solid red; padding: 10px; } img { width: 100%; height: auto; } </style> </head> <body> <h2> Using the <i> width CSS property </i> to resize image proportionally </h2> <div class = "image"> <img src = "https://www.tutorialspoint.com/python_pillow/images/tutorials_point.jpg" alt = "logo"> </div> </body> </html>
In the example below, we use the "object-fit: contains" CSS property to scale down the size of the image. Here we set the proportional width of the image's parent div element. Additionally, we are using the “object-fit: contains” CSS property for the “img” element. In the output, the user can observe that the image is responsive and its dimensions change according to the dimensions of the div element.
<html> <head> <style> .image { width: 30%; margin: 0 auto; border: 3px solid red; padding: 10px; } img { width: 100%; height: 50%; object-fit: contain; } </style> </head> <body> <h3> Using the <i> object-fit: contain CSS property </i> to resize image proportionally </h3> <div class = "image"> <img src = "https://www.tutorialspoint.com/python_pillow/images/tutorials_point.jpg" alt = "logo"> </div> </body> </html>
In the example below, we use the "background-size" CSS property to proportionally change the size of the image. Here we set a background image for the div element. Additionally, we use "contain" as the value of the "background-size" CSS property. It spreads the image throughout the div. If the size of the div element increases, the image size will also increase. If the size of the div element is reduced, the size of the image will also be reduced.
<html> <head> <style> .image { width: 30%; min-height: 30%; margin: 0 auto; border: 3px solid red; padding: 10px; background-image: url("https://www.tutorialspoint.com/python_pillow/images/tutorials_point.jpg"); background-size: contain; background-repeat: no-repeat; } </style> </head> <body> <h3> Using the <i> background-size CSS property </i> to resize image proportionally </h3> <div class = "image"></div> </body> </html>
Users learned to change image dimensions proportionally. Here, all we need to do is set the image dimensions in percentages rather than pixels or rem. Additionally, users can proportionally change the size of the background image using the "background-size" CSS property.
The above is the detailed content of Resize images proportionally using CSS. For more information, please follow other related articles on the PHP Chinese website!