これを適切に実行して、ラッパーに不透明度のある黒い背景を与えました。問題は、bg の色を不透明度なしに変更しようとすると、コンテンツが bg 画像の後ろに落ちているように見える場合に発生します。
コード
<img src="bg.jpg" id="bg" alt="">
<div class="wrapper">
<div class="main">
<h1>Full Screen</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tempus, sem id feugiat lobortis, felis velit dignissim sem, et pretium orci est et magna. Nunc non massa id odio ultrices varius. Nulla consequat sollicitudin erat sed condimentum. Cras vel magna ut tellus rhoncus dictum. Nulla dictum adipiscing quam vel condimentum. Aliquam accumsan quam in libero vehicula vel sodales justo tempus. Duis mattis leo a urna feugiat eleifend. Suspendisse cursus molestie est ornare sodales. Sed justo risus, mattis a tincidunt facilisis, mattis porta tortor. Nunc ac quam justo.</p>
</div>
</div>
CSS
#bg {
position: fixed; top: 0; left: 0;
}
.bgwidth {
width: 100%;
}
.bgheight {
height: 100%;
}
.wrapper{
width:960px;
/*border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
box-shadow: 0px 0px 10px #000;
background-color:#000;
filter: alpha(opacity=30);
opacity: 0.3;*/
background-color:#000;
margin-left:auto;
margin-right:auto;
}
js
$(window).load(function() {
var theWindow = $(window),
$bg = $("#bg"),
aspectRatio = $bg.width() / $bg.height();
function resizeBg() {
if ( (theWindow.width() / theWindow.height()) < aspectRatio ) {
$bg
.removeClass()
.addClass('bgheight');
} else {
$bg
.removeClass()
.addClass('bgwidth');
}
var newWidth = theWindow.width()-$bg.width();
var newHeight = theWindow.height()-$bg.height();
//alert(newWidth + "-"+ newHeight);
$bg.css("left",(newWidth/2)+"px");
$bg.css("top",(newHeight/2)+"px");
}
theWindow.resize(function() {
resizeBg();
}).trigger("resize");
});