What is the CSS object-fit property for images and videos?
Jun 24, 2025 am 12:25 AMThe object-fit CSS property controls how images or videos scale within their container. 1. fill stretches media to fit, possibly distorting it. 2. contain scales media to fit entirely within the container while preserving aspect ratio. 3. cover scales media to cover the entire container, cropping edges as needed. 4. none leaves media at its original size without scaling. 5. scale-down behaves like none or contain, whichever results in the smaller display size. It is especially useful for responsive layouts and UI components such as cards, sliders, and banners, where maintaining visual consistency is key. However, object-fit does not apply to background images and may not be supported in older browsers like Internet Explorer. Pairing it with object-position allows control over the focal point when cropping.
When you're working with images or videos in CSS and they don’t match the size or aspect ratio of their container, object-fit
helps control how they scale or fit inside that space. It’s especially useful when you want to maintain layout consistency without distorting the media.
What Does object-fit
Do Exactly?
In short, object-fit
tells the browser how an image or video should adjust itself to fit its container. Think of it like picture framing — you can stretch the photo, center it, crop the edges, etc., depending on what look you're going for.
There are five main values:
-
fill
: Stretches the image/video to fill the container (can distort) -
contain
: Scales the media so the whole thing fits, keeping aspect ratio -
cover
: Crops the edges to fully cover the container while preserving ratio -
none
: Shows the original size, no scaling -
scale-down
: Behaves likenone
orcontain
, whichever gives a smaller size
This property works best when you’ve already set explicit width and height on the element.
How to Use object-fit
in Practice
Let’s say you have a fixed-size card layout where all images need to fit nicely without breaking the design. Here’s how different values might apply:
For a profile picture that must stay centered and uncropped:
object-fit: cover;
combined withobject-position: center;
For a thumbnail grid, where all images should show full content:
object-fit: contain;
ensures nothing gets cut offIf you're designing a banner and stretching is acceptable:
object-fit: fill;
will make the image fill the area completely
You’ll typically write this in your CSS like:
img { width: 100%; height: 200px; object-fit: cover; }
Just keep in mind: object-fit
doesn't work on inline elements unless they’re block-level or replaced elements like <img alt="What is the CSS object-fit property for images and videos?" >
or <video></video>
.
When Should You Use It?
One common use case is responsive design — especially when dealing with user-uploaded images of varying sizes. Without object-fit
, you might end up with awkward white space or distorted visuals.
Another scenario is when building UI components like:
- Image sliders/carousels
- Product cards with uniform sizing
- Video backgrounds that adapt to screen size
If you're using a framework like Bootstrap or Tailwind, some utilities may abstract this away, but knowing how object-fit
behaves lets you tweak things precisely when needed.
Also, if you notice that an image looks squashed or stretched unexpectedly, check whether object-fit
is applied — and which value is in use.
A Few Gotchas and Tips
-
object-fit
doesn't affect background images — usebackground-size
instead. - In older browsers like IE, support isn’t great, so consider fallbacks if needed.
- Always pair with
object-position
if you want to adjust where the focal point is when cropping.
Here's a quick reference list:
- ? Use
cover
for consistent fills with cropping - ? Use
contain
to avoid cropping at all costs - ? Don’t expect it to work on background images
- ?? Watch out for distortion with
fill
That’s basically it — a straightforward tool once you understand how each value behaves. It won’t fix bad image choices, but it definitely helps manage them better within your layout.
The above is the detailed content of What is the CSS object-fit property for images and videos?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

To achieve the rotation effect of an element, use JavaScript combined with CSS3's transform attribute. 1. Use transform's rotate() function to set the rotation angle. 2. Realize dynamic rotation through requestAnimationFrame. 3. Consider reducing DOM operations or using CSS animations when optimizing performance. 4. Ensure browser compatibility and add prefixes. 5. User interactive control rotation is achieved through mouse or touch events.

The reason we use semantic tags is that they improve SEO, enhance accessibility, and code maintainability. 1. Include titles when using them to avoid abuse. 2. Use stand-alone content blocks, suitable for blogs or news. 3. Pay attention to the nesting and SEO of tags, and do not pile up tags for SEO.

There are five ways to include CSS in React: 1. Use inline styles, which are simple but not conducive to reuse and maintenance; 2. Use CSS files, which are implemented through import, which are conducive to organization but may lead to conflicts; 3. Use CSSModules to avoid global conflicts but require configuration; 4. Use StyledComponents to dynamically generate styles using JavaScript but require dependency on libraries; 5. Use Sass or Less to provide more functions but increase construction complexity.

There are three ways to selectively include CSS on a specific page: 1. Inline CSS, suitable for pages that are not frequently accessed or require unique styles; 2. Load external CSS files using JavaScript conditions, suitable for situations where flexibility is required; 3. Containment on the server side, suitable for scenarios using server-side languages. This approach can optimize website performance and maintainability, but requires balance of modularity and performance.

ThedifferentmethodsforincludingCSSinawebpageareinline,internal,andexternalCSS.1)InlineCSS:Easytoimplementbutleadstounmaintainablecode.2)InternalCSS:MoreorganizedthaninlinebutcanclutterHTML.3)ExternalCSS:Bestforlargerprojects,promotesmaintainabilityan

HTML, CSS and JavaScript are responsible for structure, style and dynamic functions in web development respectively. 1. HTML defines the web structure, 2. CSS is responsible for style and layout, 3. JavaScript provides dynamic interaction and functions.

ThebestpracticesforincludingCSSinawebsiteare:1)UseexternalCSSforseparationofcontentandpresentation,reusability,andcachingbenefits.2)ConsiderusingCSSpreprocessorslikeSassorLessformodularity.3)OptimizeperformancewithCSSminificationandcompression.4)Stru

CSSismostlycase-insensitive,butselectorsandcustompropertiesarecase-sensitive.1)Useconsistentcasingconventions.2)EmploylinterslikeStylelint.3)Testacrossbrowsers.4)Bemindfulofexternalresources'conventions.Consistentcasinghelpsmaintaincodecleanlinessand
