Faux Crop any size image with CSS

29 Comments

  1. Keiko

    Thanks for the tiaorutl! I’m almost there, but for some reason my images open up in a new window, and do not replace the other image. Please help! Thanks!

  2. THANK YOU. I was looking for something clean and simple for a photo gallery and this is it! Thank you so much!

  3. Rob

    You da man!

  4. Mike

    Thank you so, so much! Such an easy and elegant fix for something that has been driving me mad for the last 4 hours!

    Honestly, people, like yourself who post things like this, really are exceptionally wonderful human beings! 🙂

  5. Arun Thota

    Excellent technique!

  6. Artemisia Moltabocca (@moltabocca)

    Haha! Yes! I have a gallery of images that includes horizontal and vertical images. I wanted a way to crop down the horizontal ones down to a consistent size without having to fire up Photoshop. Now I can delete that annoying \”Gallery Images\” album. I can now crop the actual image. Thanks so much! happydance
    http://costumingdiary.blogspot.com/p/costuming-tutorials.html

  7. Thanks so much.
    This is what i was looking for! 🙂

  8. Hemali

    It Crop image from bottom side. i need to crop image from the top and bottom any idea..?


    1. .container {
      width: 418px;
      height: 300px;
      overflow: hidden;
      }
      .container img {
      width: 100%;
      margin-top: -100px; /* -100px will crop from the top so change this value until it\'s around the middle of the image */
      }

    2. Or check this example: http://dabblet.com/gist/4711695

  9. @Hemali That\’s not really possible with this technique, and not what it\’s intended for. If you need a specific crop a photo editor is your best bet.

  10. Helpful post. Thanks Bryan!

  11. Paul

    Thanks this was a great tip and I used on a site to do exactly that, now the image stays in the box even though it\’s bigger than the box size – perfect!

  12. Timbo

    Awesome, just what I needed. Though like Hemali, I would like to crop the top off too.

    I not an expert, but this seemed to work:

    .container img { width: 100%; position: relative; top: -15px;}

    The above appears to crop the top 15px off the image.

    -Timbo

  13. @Timbo,

    That will certainly work if you want every image to be bumped up 15px. If it\’s just for one image or a set of images, I\’d create a special class and add the positioning to that.

  14. Mos

    Thank you bro!!! really helped me out with a clean photogallery!

  15. Andrew

    NICE!!! In practice I found that this code only works if all of the images are taller than they are wide. I had to add some server code to determine whether the width was greater than the height and then apply the width:100% (or height:100%) as an inline style.

    Am I missing something?

    1. Hi Andrew. I\’m not sure what the end goal for your site is but this technique is meant to crop an image to fill a defined area. I wrote it quite a while ago, and while it still gets some a few hits, there are perhaps better ways to manage images these days – Especially when designing responsively or fluidly.

  16. Vanessa

    Thanks a ton!

  17. Maqsood Ahmed

    I have use this tip but that\’s only work for resize not for crop (not reduce size in kb)

    1. tsiv

      It\’s only to move the image inside of a DIV. The image is not altered, only how much image is visible.

  18. Sijo

    Is it Possible to create full-width image using faux crop. Skewing issues occured..Please help to solve

    1. I wouldn\’t use this technique to display a full width image. Might be best to use it as a background-image and set the background-size as such:

      [css]
      background-size: cover
      [/css]

  19. Newbie Coder

    Thanks a lot for this info.. you saved my stressful day… ^_^

    1. Glad you found it helpful Newb.

  20. Just what I needed to know for a website, thanks so much 🙂

  21. Pham Viet Phu

    Very simple

  22. webchrea

    THANKS Glad you found it helpful

  23. Tom

    Thanks for sharing this post,
    is very helpful article.

Leave a Reply

Your email address will not be published. Required fields are marked *