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

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

有帮助吗?

解决方案

你要解决的问题是 IE hasLayout 问题。 这里 是一篇很好的文章,概述了哪些属性也会触发 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。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top