There was nothing in what I said that suggested a background for the whole site. Quite the reverse, in fact.
In your HTML, you have an element, div#main, which is the element I would have chosen for the background. Then, inside that you have an anonymous div with an element style:
background-image: url('/wp-content/uploads/2011/08/web-gallery.jpg');
That’s obviously not going to work, since the url is invalid.
So the first thing that I’d do would be to remove the element style (and the anonymous div). There’s no need to muck about with the HTML for style issues.
Then I’d create a folder called ‘images’, say, in my child theme directory and copy my image to it. Let’s call it myimage.png. Finally, I’d add the following rule to the child theme’s style sheet:
#main {
background: url('images/myimage.png');
}
Remember that url() takes a path to the image that is relative to the stylesheet.
HTH
PAE