Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CSS force image resize and keep aspect ratio

I am working with images, and I ran into a problem with aspect ratios.

<img src="big_image.jpg" width="900" height="600" alt="" /> 

As you can see, height and width are already specified. I added a CSS rule for images:

img {   max-width: 500px; } 

But for big_image.jpg, I receive width=500 and height=600. How do I set images to be re-sized, whilst keeping their aspect ratios.

like image 227
moonvader Avatar asked Oct 20 '12 18:10

moonvader


People also ask

How do I resize an image using CSS without losing the aspect ratio?

The Simple Solution Using CSSBy setting the width property to 100%, you are telling the image to take up all the horizontal space that is available. With the height property set to auto, your image's height changes proportionally with the width to ensure the aspect ratio is maintained.

How do I keep aspect ratio in CSS?

css('padding-bottom', ratio); }); And having this you just set attr data-keep-ratio to height/width and that's it.

How do I resize an image without distorting it CSS?

Try removing width="100%", or set the width manually based on the aspect ratio.


2 Answers

img {    display: block;    max-width:230px;    max-height:95px;    width: auto;    height: auto;  }
<p>This image is originally 400x400 pixels, but should get resized by the CSS:</p>  <img width="400" height="400" src="http://i.stack.imgur.com/aEEkn.png">

This will make image shrink if it's too big for specified area (as downside, it will not enlarge image).

like image 196
setec Avatar answered Sep 28 '22 11:09

setec


I've struggled with this problem quite hard, and eventually arrived at this simple solution:

object-fit: cover; width: 100%; height: 250px; 

You can adjust the width and height to fit your needs, and the object-fit property will do the cropping for you.

More information about the possible values for the object-fit property and a compatibility table are available here: https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit

Cheers.

like image 40
Théo T. Carranza Avatar answered Sep 28 '22 12:09

Théo T. Carranza