I’m using a CSS fix to ensure opacity doesn’t effect inner elements and I’ve run into a problem. The image will only stretch to 100% of the visible page. My page is fairly tall however, half of it is hidden and only accessible by scrolling down. Once you scroll down though, the image container ends and I only get a solid fill color. Can this be fixed, perhaps CSS or jQuery?
Example:

HTML:
<body><!-- Bg Color -->
<div class="bgImg"></div><!-- Bg Image Container -->
<div data-role="page" class="type-home" data-theme="a">
</div>
</body>
CSS:
body { background-color: red; }
.bgImg {
background-image: url(../images/patterns/pattern9.png);
opacity: 0.8;
filter: alpha(opacity=0.8;);
-khtml-opacity: 0.8;
-moz-opacity: 0.8;
-webkit-opacity: 0.8;
position: absolute;
z-index: -1;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 100%;
height: 100%;
}
the easiest would be to change it to position:fixed; then your background won’t scroll at all
if you do want your background to scroll, then you could use javascript (or a javascript library) to get the height of your content and dynamically set the height of the background.
jquery: