在 Firefox 中使用 CSS Scale 时,元素保持原始位置
在 Firefox 中使用缩放时,缩放后的元素确实会正确缩放。问题是,它的定位就好像没有缩放一样。
这在 Chrome 中运行良好,在 IE、Safari 和 Opera 中也可能运行良好。这些浏览器都支持 CSS 缩放属性,而 Firefox 不支持。对于 Firefox,我使用 -moz-transform:scale(0.3);。
这是我的 CSS:
#overview .page-content {
zoom: 0.3;
-moz-transform: scale(0.3);
}
这应该是这样的(如在 Chrome 中):
这就是它应该的样子看起来不像(如在 Firefox 中):
有人知道如何解决这个问题吗?或者也许是一个解决方法?
When using scale in Firefox, the scaled element dóes get scaled properly. The problem is, that it's positioned as if it isn't scaled.
This works fine in Chrome, and probably also in IE, Safari and Opera. These browsers all support the CSS zoom property, where Firefox doesn't. For Firefox I'm using -moz-transform: scale(0.3);.
This is my CSS:
#overview .page-content {
zoom: 0.3;
-moz-transform: scale(0.3);
}
This is what it should look like (as in Chrome):
This is what it shouldn't look like (as in Firefox):
Does anybody know how to fix this? Or maybe a workaround?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
正如 thirtydot 提到的:
这可以解决问题。
As thirtydot mentioned:
This will do the trick.
我添加了 -transform-origin: 0 0;但它仍然不起作用。
不知何故,在 Chrome 中它崩溃为 -webkit-transform-origin: 0;
所以我将其更改为 -transform-origin: top left;现在效果很好。
完整代码:
I added -transform-origin: 0 0; and it still did not work.
Somehow in Chrome it collapsed to -webkit-transform-origin: 0;
So I changed it to -transform-origin: top left; and it works fine now.
Full code:
如果绝对定位不是一个选项 - 并且知道相应的浏览器支持 -
display: table-cell
具有min-width
定义,应该需要,可能会这样做出色地。例如,这帮助我获得了一行客户徽标,可以在不同的屏幕分辨率上很好地缩放。
If absolute positioning is not an option - and aware of according browser support -
display: table-cell
with amin-width
definition, should needs be, might do the trick as well.E.g. this helped me to get a row with customer logos scaling well across different screen resolutions.