Object fit helps images or videos fill their container nicely without stretching or cutting off important parts.
Object fit in CSS
object-fit: fill | contain | cover | none | scale-down;fill stretches the image to fill the container (may distort).
contain fits the whole image inside the container, keeping aspect ratio.
cover fills the container and crops if necessary, keeping aspect ratio.
none displays the image at its original size.
scale-down compares none and contain and uses the smaller size.
img {
width: 200px;
height: 150px;
object-fit: cover;
}img {
width: 200px;
height: 150px;
object-fit: contain;
}img {
width: 200px;
height: 150px;
object-fit: fill;
}This page shows three boxes with the same image but different object-fit settings. You can see how the image changes shape and cropping inside each box.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Object Fit Example</title> <style> .container { width: 300px; height: 200px; border: 2px solid #333; margin-bottom: 1rem; overflow: hidden; } img { width: 100%; height: 100%; display: block; } .cover img { object-fit: cover; } .contain img { object-fit: contain; background-color: #eee; } .fill img { object-fit: fill; } </style> </head> <body> <section> <h2>object-fit: cover</h2> <div class="container cover"> <img src="https://via.placeholder.com/400x300" alt="Example image"> </div> </section> <section> <h2>object-fit: contain</h2> <div class="container contain"> <img src="https://via.placeholder.com/400x300" alt="Example image"> </div> </section> <section> <h2>object-fit: fill</h2> <div class="container fill"> <img src="https://via.placeholder.com/400x300" alt="Example image"> </div> </section> </body> </html>
Use object-fit only on replaced elements like <img>, <video>, or <canvas>.
For accessibility, always include alt text on images.
Combine object-fit with fixed width and height on the container for best results.
Object fit controls how images or videos fill their containers.
Use cover to fill and crop, contain to fit inside without cropping, and fill to stretch.
It helps keep your page looking neat and images clear without distortion.