我认为答案是否定的,但是你可以用CSS定位一个背景图像,这样它就离右边有一个固定数量的像素?

如果我设置x和y的背景位置值,似乎它们只分别从左边和上面给出固定的像素调整。


当前回答

可以使用属性边框作为从右边开始的长度

background: url('/img.png') no-repeat right center;
border-right: 10px solid transparent;

其他回答

你可以在CSS3中这样做:

background-position: right 20px bottom 20px;

它适用于Firefox, Chrome, IE9+

来源:中数

如果你碰巧在现代浏览器中碰到这个话题,你可以使用伪类:after来做任何与后台相关的事情。

.container:after{
    content:"";
    position:absolute;
    right:20px;
    background:url(http://lorempixel.com/400/200) no-repeat right bottom;
}

这个CSS会把背景放在“”的右下角。元素的右侧有20px的空间。

看看这个小提琴,例如http://jsfiddle.net/h6K9z/226/

只需将像素填充到图像中-在photohop中添加10px或任何图像的画布大小,并在CSS中对齐它。

background-position: right 30px center;

它适用于大多数浏览器。完整列表见:http://caniuse.com/#feat=css-background-offsets。

更多信息:http://www.w3.org/TR/css3-background/#the-background-position

据我所知,CSS规范并没有提供您所要求的内容,当然,除了CSS表达式之外。除去你不想使用表达式或Javascript的假设,我看到了三个hack的解决方案:

Make sure your background image matches the size of the container (at least in width) and set background-repeat: repeat or repeat-x if only the width is equalized. Then, having something appear x pixels from the right is as simple as background-position: -5px 0px. Using percentages for background-position exhibits special behaviour that is better seen than described here. Give it a shot. Essentially, background-position: 90% 50% will make the right edge of the background image line up 10% away from the right edge of the container. Create a div containing the image. Explicitly set the position of the containing element position: relative if not already set. Set the image container to position: absolute; right: 10px; top: 10px;, obviously adjusting the final two as you see fit. Place the image div container into the containing element.