2

私は CSS 変換を使用しており、IE7 と IE8 では次の Matrix 変換に戻ります。

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 のバグだと思います。私が最初に遭遇したのですか?

4

1 に答える 1

4

あなたが最初に遭遇したかどうかはわかりません。今日、この問題が発生しました。あなたは確かにそれを最初に報告したようです。Scott McGheeが 1 か月後に報告しました。このあいまいな問題への他の参照は見つかりませんでした。

それがIE7のバグであるというあなたの仮定は正しいです。これは予期しない動作です。このフィドルを IE7 または IE7 ブラウザ モードでロードすると、3 つの X が入った 3 つのオレンジ色の四角形が表示されます。最初の正方形は 25x25 ピクセル、2 番目は 50x50 ピクセル (100x100 ピクセルから縮小され、わずかにぼやけています)、3 番目は 100x100 ピクセルです。これは正しい動作です。ただし、フィドルに示されているように空白文字を削除すると、2 番目と 3 番目の要素がスタイルされていないことがわかります。

私の理論では、パラメータリスト全体で先行スペースなしで文字列パラメータ内にスペースがあると、このバグが発生します。この推測をテストするために、ぼかしという別の方法を追加しました。

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

最初のスペースを削除すると、3 の後ろのバグが再現されます。hello の後ろの 2 番目のスペースも削除すると、再び機能します。私の理論は反証されていません。

私はIE6でこれを試していません。

于 2012-11-28T18:42:56.300 に答える