【发布时间】:2015-02-19 16:59:41
【问题描述】:
我正在尝试使用background-position 隐藏background-image(使用background-size 缩放)。
我故意不使用visibility 或任何会导致重新布局的东西,因此在切换回视图时会导致渲染输出出现轻微波动。此外,我当前的应用程序限制我使用伪元素作为破解/解决方法。
div {
background: url(image.png) no-repeat 200% 200%/100%;
height: 100px; /* half height of image */
width: 250px; /* half width of image */
}
不幸的是,图像没有被定位。如果/100% 被删除,则定位工作正常。
jsfiddle:http://jsfiddle.net/prometh/60jtpust/
更新:
奇怪的是,它在background-size 为 50% 时起作用:http://jsfiddle.net/60jtpust/8/
【问题讨论】:
-
我可以回答为什么
background-position不适用于background-size: 100%,但不幸的是,我想不出一个不会触发回流的解决方案,因为你基本上除非您事先知道确切的像素值,否则将无法使用background-position。对前者的回答就足够了吗? -
~~幸运的是,我的背景图片位于一个绝对定位的伪元素内,该伪元素源自一个带有
overflow:hidden的元素。有了它,我就可以使用left:auto; right:100%将其置于视线之外。~~ -
这其实很聪明。另外,我看到有人继续发布了一个答案,只是对规范进行了解释-我有不同的解释,但是如果您了解规范的含义,那么我的解释就没有必要了;)
-
:) 我的幸运消失了。
left由于重新布局引起了同样的波动。 csstriggers.com -
嗯,知道你已经帮助过别人了——那个网站太棒了,我不知道它的存在。感谢您的链接!
标签: css