CSS背景位置相对于文档而不是元素?

时间:2013-06-06 02:23:03

标签: html css

我想知道这是否可行,能否将图像的背景位置设置到html文档的左上角,而不是元素的左上角。

伪代码

body {
    background-image: url(someurlhere);
    background-position: top left;
}
element {
    background-image: url(sameurlhere);
    background-position: top left /*Relative to body not element*/;
}

如果我需要为这个问题提供其他任何内容,请告诉我,我会对其进行修改,但我相信这很简单。

编辑:我不能使用绝对定位,我正在加载动态内容,我希望平铺图像适合几个元素的背景,以便在页面中产生漏洞。

编辑2:这里有一些图片可以更好地解释这个问题。

图1:注意标题元素中的重复模式。 http://i.imgur.com/3lWguRE.png

图2:这种变化是我的目标。 http://i.imgur.com/WtOeCQ2.png

3 个答案:

答案 0 :(得分:5)

第一个问题是为什么你不只是在body元素上设置背景图像。

但如果这不合适,您可以选择将元素的背景图像设置为fixed,在这种情况下,它将固定在浏览器窗口的左上角,不会滚动。

element {background: url(image.fig) repeat fixed;}

但是,背景只显示在它附加的元素上,即使它从屏幕的左上角开始。 (这对于视差效应很方便。)

编辑:作为旁注,如果您使用的是手写背景属性,fixed设置为

background-attachment: fixed;

答案 1 :(得分:0)

您所要做的就是将元素包装在div绝对值中,并根据需要定位。

答案 2 :(得分:0)

您能否提供有关元素背景的更多信息?它有任何定位吗?文件在哪里?我有点不清楚你究竟想要完成什么。

将背景放在身体上吗?

这会将背景设置在左上角,但我怀疑这实际上是你想要完成的事情:

<div class="test">
</div>

.test:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(http://i1112.photobucket.com/albums/k497/animalsbeingdicks/abd-318.gif);
  width: 352px;
  height: 263px;
}

http://jsbin.com/imurah/1/