Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I stretch a background image to cover the entire HTML element?

I'm trying to get a background image of a HTML element (body, div, etc.) to stretch its entire width and height.

Not having much luck. Is it even possible or do I have to do it some other way besides it being a background image?

My current css is:

body {     background-position: left top;     background-image: url(_images/home.jpg);     background-repeat: no-repeat; } 

Thanks in advance.

Edit: I'm not keen on maintaining the CSS in Gabriel's suggestion so I'm changing the layout of the page instead. But that seems like the best answer so I'm marking it as such.

like image 381
Fung Avatar asked Oct 25 '08 03:10

Fung


People also ask

Can you stretch background image?

You can use the CSS background-size: cover; to stretch and scale an image in the background with CSS only. This scales the image as large as possible in such a way that the background area is completely covered by the background image, while preserving its intrinsic aspect ratio.


1 Answers

<style>     { margin: 0; padding: 0; }      html {          background: url('images/yourimage.jpg') no-repeat center center fixed;          -webkit-background-size: cover;         -moz-background-size: cover;         -o-background-size: cover;         background-size: cover;     } </style> 
like image 168
Nathan Avatar answered Sep 22 '22 22:09

Nathan