On dirait que vous essayez de mettre à l'échelle l'image d'arrière-plan ? Il y a un excellent article dans la référence ci-dessous où vous pouvez utiliser css3 pour y parvenir.
Et si j'ai mal lu la question, j'accepte humblement les votes négatifs. (Mais c'est toujours bon à savoir)
Veuillez considérer le code suivant :
#some_div_or_body {
background: url(images/bg.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
Cela fonctionnera sur tous les principaux navigateurs, bien sûr, il n'est pas facile de le faire sur IE. Il existe cependant des solutions de contournement, comme l'utilisation des filtres de Microsoft :
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
Il existe des alternatives qui peuvent être utilisées avec un peu de tranquillité d'esprit en utilisant jQuery :
HTML
<img src="images/bg.jpg" id="bg" alt="">
CSS
#bg { position: fixed; top: 0; left: 0; }
.bgwidth { width: 100%; }
.bgheight { height: 100%; }
jQuery :
$(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');
}
}
theWindow.resize(resizeBg).trigger("resize");
});
J'espère que cela vous aidera !
Src : Image d'arrière-plan pleine page parfaite