Internet, Networking, & Security Web Development How to Stretch a Background Image to Fit a Web Page Give your website visual interest with background graphics by Jennifer Kyrnin Freelance Contributor Jennifer Kyrnin is a professional web developer who assists others in learning web design, HTML, CSS, and XML. our editorial process LinkedIn Jennifer Kyrnin Updated on February 22, 2021 reviewed by Jessica Kormos Lifewire Tech Review Board Member Jessica Kormos is a writer and editor with 15 years' experience writing articles, copy, and UX content for Tecca.com, Rosenfeld Media, and many others. our review board Article reviewed on Jun 30, 2020 Jessica Kormos Tweet Share Email Web Development CSS & HTML Web Design SQL What to Know Preferred method: Use the CSS3 property for background-size and set it to cover. Alternate method: Use the CSS3 property for background-size set to 100% and background-position set to center. This article explains two ways to stretch a background image to fit a web page using CSS3. The Modern Way Images are an important part of attractive website designs. They add visual interest to a page and help you achieve the design you are looking for. When you work with background images, you may want an image to stretch to fit the page despite the wide range of devices and screen sizes. The best way to stretch an image to fit the background of an element is to use the CSS3 property, for background-size, and set it equal to cover. div { background-image: url('background.jpg'); background-size: cover; background-repeat: no-repeat;} Take a look at this example of it in action. Here's the HTML in the image below. Now, take a look at the CSS. It's not much different than the code above. There are a few additions to make it clearer. Now, this is the result in full screen. By setting background-size to cover, you guarantee that browsers will automatically scale the background image, however large, to cover the entire area of the HTML element that it's being applied to. Take a look at a narrower window. According to caniuse.com, this method is supported by over 90 percent of browsers, making it an obvious choice in most situations. It does create some problems with Microsoft browsers, so a fallback might be necessary. The Fallback Way Here is an example that uses a background image for the body of a page and which sets the size to 100% so that it will always stretch to fit the screen. This method isn't perfect, and it might cause some uncovered space, but by using the background-position property, you should be able to eliminate the problem and still accommodate older browsers. body { background: url('bgimage.jpg'); background-repeat: no-repeat; background-size: 100%; background-position: center;} Using the example from above with the background-size set to 100% instead, you can see that the CSS looks mostly the same. The result on a full-screen browser or one with similar dimensions to the image is nearly identical. However, with a narrower screen, the flaws start to show. Clearly, it isn't ideal, but it will work as a fallback. According to caniuse.com, this property works in IE 9+, Firefox 4+, Opera 10.5+, Safari 5+, Chrome 10.5+, and on all the major mobile browsers. This covers you for all the modern browsers available today, which means you should use this property without fear that it will not work on someone's screen. Between these two methods, you shouldn't have any difficulty supporting nearly all browsers. As background-size: cover gains even more acceptance among browsers, even this fallback will become unnecessary. Clearly, CSS3 and more responsive design practices have simplified and streamlined using images as adaptive backgrounds within HTML elements. Was this page helpful? Thanks for letting us know! Get the Latest Tech News Delivered Every Day Email Address Sign up There was an error. Please try again. You're in! Thanks for signing up. There was an error. Please try again. Thank you for signing up. Tell us why! Other Not enough details Hard to understand Submit