每当我发现 IE 显示我的网站很奇怪(与 chrome 和 firefox 不同)时,我都会尝试zoom:1
在 css 类中添加一个显示奇怪的部分。很多时候,这可以解决问题并使其看起来与其他浏览器一致。
使用有问题zoom:1
吗?我知道我的 CSS 不会验证,但是如果我过分依赖使用,是否会出现任何现实世界的问题zoom:1
?
每当我发现 IE 显示我的网站很奇怪(与 chrome 和 firefox 不同)时,我都会尝试zoom:1
在 css 类中添加一个显示奇怪的部分。很多时候,这可以解决问题并使其看起来与其他浏览器一致。
使用有问题zoom:1
吗?我知道我的 CSS 不会验证,但是如果我过分依赖使用,是否会出现任何现实世界的问题zoom:1
?
您正在解决的问题是 IEhasLayout
问题。这是一篇很好的文章并概述了哪些属性也会在 IE 中触发“具有布局”。
zoom: 1
我知道除了它不是 W3C 有效之外没有任何副作用。我很确定我自己在一些项目中使用它。
zoom
然而,有朝一日成为真正的 CSS 属性的可能性很小——或者在 iPad 等其他专有环境中使用——这可能会导致事情崩溃。
一个非常干净的解决方案,缩放不是。如果可能的话,最好以文章中概述的其他方式赋予元素“布局”。
相反,使用 zoom:1 有明显的缺点,即使在 IE 中也是如此。通常,我只将它包含在仅限 IE 的样式表中,但即使在过去的几天里,我也遇到了一些布局问题,因为我选择使用 *{zoom:1;}
- 外卖 - 在有限的基础上使用它。如果只关心IE7+,可以使用min-height: 1%,和触发hasLayout的效果一样
截至 2012 年 11 月,zoom 有朝一日更有可能成为有效的 CSS,尽管在上述情况下使用它似乎不会产生任何负面影响。
请参阅:http ://dev.w3.org/csswg/css-device-adapt/或http://www.w3.org/TR/css-device-adapt/
缩放仅受 IE 支持,因此目前不支持。未来可能会有一个名为 zoom 的属性,它可能会搞砸事情,但由于广泛使用,这不太可能。
display: inline-block;
做同样的事情,但是是标准代码。
在极少数情况下它会产生问题,您可以使用
display: block !important; /* or inline, etc. */
display: inline-block; /* in this order */
仅将其发送到对其有用的旧版本的 Internet Explorer。