只有理解了此属性的含义,才能真正的使用Css的Sprites技术。
定义
background-position 属性设置背景图像的起始位置。[相对于父元素]
继承性:NO
说明
background-image 属性会在元素的背景中设置一个图像。
这个属性设置背景原图像(由 background-image 定义)的位置,背景图像如果要重复,将从这一点开始。
JavaScript 语法
CSS 属性也可通过一段 JavaScript 被动态地改变。
脚本语法:
object.style.backgroundPosition="bottom center"
例子
body{
background-image:url(stars.gif);
background-repeat:no-repeat;
background-position:top left;
}
body{
background-image:url(stars.gif);
background-repeat:no-repeat;
background-position:0% 0%;
}
可能的值
值 | 描述 |
top left | 如果您仅规定了一个关键词,那么第二个值将是"center"。 |
x% y% | 第一个值是水平位置,第二个值是垂直位置。 |
xpos ypos | 第一个值是水平位置,第二个值是垂直位置。 |
下面是重点:对坐标为负值的理解
下面是我要用到的一个背景图
测试例子:
HTML页中是162*162的灰色背景DIV块并加入三种不同位置的背景图片,
在浏览器中看到的效果:
从上图可以看到:当为background-position:0 0;时图片的左上角与DIV的左上角是重合的,当我们定位于background-position:-50px -50px;时发现图片向左上,移动了,也就以DIV的左上角为中心,图向左移动了50PX,向上也移动了50PX.第三个示例就是上值的情况图移动的效果.这个应该是好理解的.
总结一下就是以上都是以DIV的0,0点为参考点图片移动,假如把DIV区解释为一个坐标轴,图向左,上都为负,向右,下为正值.
好象说这么多你也记不住,那我就告诉你,你应该记住什么吧!
在实践中多数情况是知道一个图的位置要如上图中那个黄色的点,我们应该在效果图上量出它的长度得出两个值都是150PX,那我们定义图的位置就要写background-position:-150px -150px;这样就定义好了,在图上的量法就看下图(这张图相当于你用的效果图或称设计图),记住这张图相信你一定能把握背景图负值的方法了