9

每当我发现 IE 显示我的网站很奇怪(与 chrome 和 firefox 不同)时,我都会尝试zoom:1在 css 类中添加一个显示奇怪的部分。很多时候,这可以解决问题并使其看起来与其他浏览器一致。

使用有问题zoom:1吗?我知道我的 CSS 不会验证,但是如果我过分依赖使用,是否会出现任何现实世界的问题zoom:1

4

5 回答 5

17

您正在解决的问题是 IEhasLayout问题。是一篇很好的文章并概述了哪些属性也会在 IE 中触发“具有布局”。

zoom: 1我知道除了它不是 W3C 有效之外没有任何副作用。我很确定我自己在一些项目中使用它。

zoom然而,有朝一日成为真正的 CSS 属性的可能性很小——或者在 iPad 等其他专有环境中使用——这可能会导致事情崩溃。

一个非常干净的解决方案,缩放不是。如果可能的话,最好以文章中概述的其他方式赋予元素“布局”。

于 2010-05-06T20:40:45.867 回答
1

相反,使用 zoom:1 有明显的缺点,即使在 IE 中也是如此。通常,我只将它包含在仅限 IE 的样式表中,但即使在过去的几天里,我也遇到了一些布局问题,因为我选择使用 *{zoom:1;}

- 外卖 - 在有限的基础上使用它。如果只关心IE7+,可以使用min-height: 1%,和触发hasLayout的效果一样

于 2010-08-09T20:28:35.217 回答
1

截至 2012 年 11 月,zoom 有朝一日更有可能成为有效的 CSS,尽管在上述情况下使用它似乎不会产生任何负面影响。

请参阅:http ://dev.w3.org/csswg/css-device-adapt/或http://www.w3.org/TR/css-device-adapt/

于 2012-12-20T03:59:28.290 回答
0

缩放仅受 IE 支持,因此目前不支持。未来可能会有一个名为 zoom 的属性,它可能会搞砸事情,但由于广泛使用,这不太可能。

于 2010-05-06T20:41:11.407 回答
0

display: inline-block;做同样的事情,但是是标准代码。

极少数情况下它会产生问题,您可以使用

display: block !important; /* or inline, etc. */ 
display: inline-block; /* in this order */

仅将其发送到对其有用的旧版本的 Internet Explorer。

于 2010-05-06T21:06:46.940 回答