3

我想定位到背景图像的底部,但给它一些垂直偏移。

让我们说

我们可以这样做:

.img{
     background-position: 5px center; /* top + 5px */
}

我试过了:

.img{
     background-position: -5px center; /* bottom - 5px ?? */
}

但图像甚至不可见

我怎样才能做到这一点?(不知道元素的高度)。

  • 到目前为止,我修复了它对元素应用填充(图像大小)和边距(偏移)postion:bottom center;
4

2 回答 2

1

使用 :before 和 :after 可以获得结果(使用精灵图像的确切位置。)

.img{
    position: relative;
}

.img:after {
    left: 50%;
    bottom: -5px;
    content: '';
    width: 32px;
    height: 32px;
    margin-left: -16px;
    position: absolute;
    background-position: 0 0;
}

.img:before {
    left: 50%;
    top: 5px;
    content: '';
    width: 32px;
    height: 32px;
    margin-left: -16px;
    position: absolute;
    background-position: -15px -30px;
}
于 2013-07-08T14:16:18.370 回答
1

不是与CSS2,而是与CSS3。使用background-position你可以给出一个positionnegative偏移量。

您可以执行以下操作:

JSFiddle 演示

HTML

<div class="box"></div>

CSS

.box {
    width:300px;
    height:300px;
    background: url(http://placehold.it/100x100) no-repeat bottom -10px right -20px;
    border:2px solid red;
}

浏览器兼容性列表

于 2013-07-08T14:17:03.347 回答