参见英文答案 >
Offset a background image from the right using CSS16个答案在这种情况下
li {background: url("../img/grey-arrow-next.png") no-repeat right center; border-bottom: 1px solid #D4E8EB}
我想在右侧的20px空间之前到背景图像,我不能给li的边缘,因为边框应该触摸边缘。
所以我需要设置20px,但它需要20px从左侧不右侧。
li {background: url("../img/grey-arrow-next.png") no-repeat 20px center; border-bottom: 1px solid #D4E8EB}
解决方法
在你的css提及位置然后“间距值(50px)”然后其他位置(中心/顶部)
li {background: url("../img/grey-arrow-next.png") no-repeat right 50px center; border-bottom: 1px solid #D4E8EB}
旧版浏览器和IE8和旧版本的IE不支持此代码。最新更新的浏览器与此方法没有冲突,希望未来的更新也将支持它。
如果您使用的是现代浏览器,请尝试background-position:calc(100% – 50px)center;正如另一个答案中所建议的。 calc有很长的路要走,因为它在逻辑和数学上能够产生更准确的结果。