您的位置:

CSS Background Position

CSS属性background-position用于规定背景图片在元素中的位置,并且可以通过指定位置值的方式来调整背景图片的位置。如果您的网页中使用了大量的背景图片,那么这个CSS属性就是您必须掌握的一个技能。

一、基本用法

background-position属性需要两个值来指定位置,分别为横向位置和纵向位置,如果只指定一个值,那么第二个值默认为center。例如下面的代码可以将背景图片定位在元素的左上角:

div {
  background-image: url(path/to/image.jpg);
  background-position: 0% 0%;
}

除了使用百分数来指定位置值,还可以使用px、em、rem、vw、vh等单位。例如下面的代码可以将背景图片定位在距离元素左侧50像素,上侧100像素的位置:

div {
  background-image: url(path/to/image.jpg);
  background-position: 50px 100px;
}

需要注意的是,如果您使用的是背景图片平铺的情况下,那么background-position属性只会影响到一张图片的位置。如果需要指定多个图片的位置,需要使用background-position-x和background-position-y属性,分别指定横向和纵向位置。

二、关于百分数

使用百分数来指定背景图片的位置,可以让页面元素自适应不同的屏幕大小和分辨率,这对于实现响应式布局非常有用。但是,需要注意的是百分数的参照物并不是元素本身,而是元素的padding box。

假设页面中有一个div元素,其宽度为200px,高度为100px,同时指定了10px的padding,如下所示:

div {
  width: 200px;
  height: 100px;
  padding: 10px;
  background-image: url(path/to/image.jpg);
  background-position: 50% 50%;
}

那么,背景图片的实际位置会在横向和纵向上进行调整,具体位置如下图所示:

百分数参照物示意图

从上图可以看出,background-position: 50% 50%; 在X、Y方向分别对应了padding box的中心位置,也就是坐标(110px, 60px)的位置。

三、使用关键字

除了使用像素和百分数来指定背景图片的位置,还可以使用一些特殊的关键字。常用的关键字包括:

  • left:将背景图片定位在元素的左侧
  • right:将背景图片定位在元素的右侧
  • top:将背景图片定位在元素的顶部
  • bottom:将背景图片定位在元素的底部
  • center:将背景图片定位在元素的中心

例如下面的代码可以将背景图片定位在元素右下角:

div {
  background-image: url(path/to/image.jpg);
  background-position: right bottom;
}

需要注意的是,这些关键字只是缩写,也可以使用横向和纵向位置值来实现相同的效果。例如下面的代码与上面的代码效果相同:

div {
  background-image: url(path/to/image.jpg);
  background-position: 100% 100%;
}

四、结语

CSS属性background-position是实现网页背景图片位置的重要手段,而对于响应式设计更是必不可少的。希望本文可以让大家对背景图片的定位有更加深入地了解。