背景位置-x(背景位置-y)是标准的W3C CSS属性吗?

87
我对background-position-x和background-position-y感到担忧。Gecko(Firefox)和Presto(Opera)不支持它们,但Webkit(Chrome,Safari)支持它们......有没有人知道(有官方参考资料)这是否会被包含在标准中?

在规范中未找到:http://www.w3.org/TR/css3-background/#the-background-position - Rob W
@Joseph 我找了一下,没有在 W3C 中找到相关内容。但是之前 <canvas> 也是这样,现在它已经被标准化了(我没有验证)。 - Guile
1
Firefox是唯一不支持此功能的主要浏览器。请前往https://bugzilla.mozilla.org/show_bug.cgi?id=550426并投票。 - Semra
你可以在这个问题上投票,试图说服Firefox开发人员将其包含在Gecko中。链接 - Andy E
这些属性是非标准的。同时请注意,Webkit(Safari,Chrome)实现它们,但如果用户放大页面,则它们返回与标准background-position不同的值。虽然在缩放时background-position保持一致,但background-position-[xy]会根据当前呈现坐标进行调整。已在Chromium 34.0.1847.116上进行测试。 - Grzegorz Luczywo
请考虑W3C 2014年4月更新的新答案。这些属性现在已成为标准的一部分。 - Deleplace
3个回答

129

background-position 拆分为 -x-y 的想法曾被提出用于 CSS 3,但由于工作组“认为使用案例过于薄弱而不适合引入新属性”,该想法被拒绝了。此外,对于多个背景图像CSSOM(CSS 的 API),似乎存在一些歧义问题。我不确定 WebKit 和 Trident 是如何实现它们以及如何解决这些问题的。

昨天CSS WG blob刚刚发布报告,称“background-positiontransform-origin语法没有变化。”原因可能是没有得到更多的延迟。 也许它会被添加到CSS 4中。www-style@w3.org邮件列表上有一个当前线程,你可能会感兴趣。

更新    看来这些属性已经被批准用于CSS 4(请参见[CSSWG] Minutes Telecon 2014-04-16):

已解决:对于背景和边框的4级别,background-position-x/-y, background-repeat-x/-y 已经获得批准。


1
好的,有了你提供的所有链接,我现在确信它不会很长一段时间内成为标准!谢谢! - Guile
8
好的答案,虽然不是我想听到的。:/ 已点赞。 - Madbreaks
1
似乎只有Firefox不支持它,因为Opera使用Blink渲染引擎。也许w3c标准化已经实现的浏览器会很好:/ - tzi
请考虑W3C 2014年4月更新的新答案。这些属性现在已成为标准的一部分。 - Deleplace
这方面的真正支持怎么样? - Vandervals
@egid 真的!事实上,我来这里是为了研究使我的精灵处理代码更简单的选项! - Stijn de Witt

30
"background-position-xbackground-position-y现在已成为第四级背景和边框标准的一部分。

决议:background-position-x/-y,background-repeat-x/-y已获得背景和边框的第4级批准。

"

2
浏览器支持还是相当不错,但是:Firefox完全不支持 :( - Husky

1

我想在某种程度上你已经回答了自己的问题。 不,background-position-x和background-position-y都是非标准的。


7
浏览器的支持情况(正如历史和Internet Explorer所展示的)并不一定与标准有任何关系。 - Yi Jiang
这就是为什么我加上了“在某种意义上”的原因,尽管这些属性是非标准的,但相当有用。 - shabunc
我本来需要它,但由于它们在很长一段时间内都不会被包含在任何标准中,所以我更喜欢有一个适用于所有浏览器的较长的CSS,而不是一个在FF,Op上存在缺陷的较短的CSS。 - Guile

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接