【问题标题】:Are matrix filters white-space-sensitive on IE7?IE7 上的矩阵过滤器对空格敏感吗?
【发布时间】:2012-07-31 21:35:09
【问题描述】:

我正在使用 CSS 转换,回退到 IE7 和 IE8 的以下矩阵转换。

filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.0, M12=0.33, M21=-0.33, M22=0.0,sizingMethod='auto expand') 

这适用于所有版本的 IE。但是如果我删除每个逗号后的空格,就像我缩小 CSS 时发生的那样,我会在 IE7 下看到一堆奇怪的故障。看起来浏览器似乎完全忽略了 CSS 文件其他部分中各种其他类的定义。

这只影响 IE7,无论是原生 IE7 还是使用 IE7 标准模式的 IE9,都会发生这种情况。

我可以通过调整我的 CSS 缩小器来解决此问题,以便为该规则保留空格,但我想了解发生了什么。我认为这是 IE7 中的错误;我是第一个遇到的吗?

【问题讨论】:

    标签: css internet-explorer internet-explorer-7


    【解决方案1】:

    我不确定您是否是第一个遇到它的人。我们今天刚遇到这个问题。您当然似乎是第一个报告它的人。 Scott McGhee reported 一个月后。我没有找到任何其他关于这个晦涩问题的参考资料。

    您认为这是 IE7 中的错误的假设是正确的;这是意外的行为。如果您在 IE7 或 IE7 浏览器模式下加载此 fiddle,您将看到三个橙色方块,其中包含三个 X。第一个正方形是 25x25px,第二个是 50x50px(从 100x100px 缩小并略微模糊),第三个是 100x100px。这是正确的行为。但是,如果您删除小提琴中所示的空白字符,您将看到第二个和第三个元素不再设置样式。

    我的理论是,在整个参数列表中没有前导空格的字符串参数中有空格会导致此错误。我添加了另一种方法,模糊,来测试这个猜想:

    progid:DXImageTransform.Microsoft.Blur(pixelradius=3, enabled='hello world');
    

    如果你删除第一个空格,它会重现错误,在 3 后面。如果你还删除第二个空格,你好,它会再次工作。我的理论是不成立的。

    我没有在 IE6 中尝试过。

    【讨论】:

      猜你喜欢
      • 2019-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多