保持超大背景图像居中

时间:2012-12-12 13:23:48

标签: css html5 parallax

我正在构建一个由4个div组成的单页网站,一个在另一个上面,每个都有自己固定的背景图像。这些图像比屏幕宽得多,因为我想在网站上保持其在各种屏幕尺寸上的外观,但是有人知道如何真正地居中背景图像。因此,在小型显示器中,他们将查看图像的中心,而在更大的显示器中,他们将看到图像的相同位置,只是周围更多。就像这个网站有

http://www.cantilever-chippy.co.uk/

调整窗口大小后,背景图像会相应移动。

非常感谢。

3 个答案:

答案 0 :(得分:8)

如果您从链接中查看css,则会看到解决方案:

#images #bg_1 {
  background-image: url(images/bg/1.jpg);
  background-position: 50% 0;
}

而div:

<div class="bg_block" id="bg_1" style="height: 1200px; width: 1055px;"></div>

通过JavaScript,他们会在每次调整大小时更改#bg_1的宽度。

window.onresize = function(event) {
    $("#bg_1").css("width", $(window).width());
}

答案 1 :(得分:5)

这应该有效

#bg{ 
   background-image:url(yourURL);
   background-repeat:no-repeat;
   background-attachment:fixed;
   background-position:center; 
}

后台固定属性适用于Firefox和Opera。

答案 2 :(得分:1)

您正在寻找background-position CSS属性。

http://www.w3schools.com/cssref/pr_background-position.asp

它可以采用像素的绝对偏移量(因此,如果您知道图像的大小和div的大小,则可以准确计算出它想要显示的位置)。或者,您可以传递百分比。它也可以采用负数,因此您可以在任何方向上将其偏离屏幕。

但是,对于您的情况,您可能需要简单的“中心”值。这样的事情应该有效:

/* This should center the background image in the div. */
div.background_image_block {  
  background-position: center center;
}