【问题标题】:Is it possible on CSS(2) say right-5 on background-position? [duplicate]在 CSS(2) 上是否可以在背景位置上说 right-5? [复制]
【发布时间】:2012-05-29 20:01:04
【问题描述】:

可能重复:
Offset a background image from the right using CSS

CSS 通常是:

background-position:right top; 

但是如果我想说诸如 right-5px 之类的话?可能吗? 元素中的类似位置:

right:-5px;

有人知道吗?

编辑

也许不清楚!我的意思是:

background-position:right-5px top; 

【问题讨论】:

标签: css


【解决方案1】:

http://www.w3.org/TR/CSS21/colors.html#propdef-background-position

从 CSS2.1 规范开始,只有在知道容器尺寸的情况下才能执行此操作。

假设容器为 300px。你可以说:

background-position:305px 或使用百分比。

但是

http://www.w3.org/TR/css3-background/#the-background-position

从 css3 规范开始,您可以定义所有不同角的偏移量。

所以background-position: top 0 right -5px; 会给出你想要的结果。

除了IE,Support都不错。

【讨论】:

  • 我看不出有什么办法:O
  • 但它总是从左开始,以 px 为单位!不是从右边!
  • Css3,我需要css(我介意IE):)
  • @markzzz 比使用向右移动 5px 的第二个容器(div 或 :after 在 IE7 中不受支持)。
【解决方案2】:

CSS2 是不可能的,但你可以做一个小把戏。像这样写:

div{
    background:red;
    width:200px;
    height:200px;
    position:relative;
    overflow:hidden;
}
div:after{
    content:'';
    position:absolute;
    width:200px;
    height:200px;
    top:0;
    right:-5px;
    background:url('http://www.dummyimage.com/600x400/000/fff');
}

查看http://jsfiddle.net/s9L2T/

【讨论】:

  • 不正确,css3 有一个高级后台模块。查看它(我的答案中的链接)以获取更多信息。
  • 我的回答与 css2 而不是 css3 有关。 OP 明确解释“在 CSS2 中是否可能”
  • 呵呵,你在评论之前编辑了你的答案;)首先你写了“CSS不可能”。但没关系,您的解决方法有效(但在 IE
  • 我编辑是因为我不想下次有人来说同样的话:)
猜你喜欢
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-24
  • 1970-01-01
  • 2014-08-23
相关资源
最近更新 更多