1

IE 8 似乎实现了与 IE 7 完全不同的“缩放”CSS 属性。

这是一个简单的例子:

<style>
   .outer { position: relative; width: 500px; height: 500px; }
   .inner { position: absolute; width: 250px; height: 500px; font-size: 50px; }
   .one { top: 0; left: 0; }
   .two { top: 0; left: 250px; }
</style>
<div class="outer">
  <div class="inner one">one</div>
  <div class="inner two">two</div>
</div>

理想情况下,这将显示 2 个并排的 div - 每个 500 像素宽,并且它们不会相互重叠。

在 IE 7 中,“两个”div 是您所期望的——这通常适用于许多不同的东西——“外部”div 内的所有内容都按比例放大到 2 倍,就像您所期望的那样。

但在 IE 8 中,情况并非如此——“两个” div 距离左侧仍然只有 250px;它只显示“两个” div 内的文本放大了 - 没有其他东西真正被放大(例如每个子元素的位置上下文!!!)。

事情在 IE 8 中开始出现严重错误,所以我实际上被迫使用这样的标签

<meta http-equiv="X-UA-Compatible" content="IE=7" />

这样 IE 8 将像 IE 7 一样呈现,使得 IE 8 的好处没有实际意义——所以现在页面上的所有内容都必须与 IE 7 糟糕的布局引擎一起使用(不像 IE 8 在这里好得多,但至少有一些更好IE 8 布局引擎中的东西)。

哦,你猜怎么着——即使是现在(2013 年 7 月),我们网站的统计数据表明,超过 90% 的用户主要使用 IE 8——所以,是的……制作仅适用于不到 10% 客户的新功能是不是一种选择(其中许多人甚至没有安装任何新东西的管理权限,因为这些是在办公室使用 PC 的企业客户)。

编辑 要明确:很明显,在 IE 8 中缩放的实现发生了变化——我的问题是为什么 IE 8 改变了这种行为,而显然它使事情变得更糟。

我可以举出 IE 8 显然不可能实现的功能的其他示例,但是使用 IE 7 很容易使用 css zoom 来完成 - 所以这清楚地证明了 IE 8 的缩放实现是完全错误的- 那么他们为什么这样做?

4

0 回答 0