Use this css style to make your background cover the entire page:
body {
background-image: url('IMAGE URL');
background-repeat: repeat;
width:100%
overflow:hidden;
float:left
}
Now, style your content’s background:
.grey {
background-color: #e6e6e6;
display: block;
float:left;
overflow:hidden;
width:500px // You can also set as 100%
}
Not that you should either set a width for your elements, or float it to the left to be able to set it’s background.