申し訳ありませんが、上で選択した回答は正しくありません。IE では複数のフィルターを適用できますが、1 つ以上のスペースで区切る必要があります。
スペースの前のコンマも機能しますが、閉じ括弧の後にある場合のみです。そのため、この場合、などのパラメーターのない IE 4.0 フィルターgray
は機能しません。セパレーターとしてのみスペースに固執するのが最善です。
上記のリンクにアクセスした場合: http://msdn.microsoft.com/en-us/library/ms532847(v=vs.85).aspx、次のサンプル リンクをクリックします(もちろん IE で)。 、回転とぼかしの両方が 2 番目の画像に適用されていることがわかります。「ソースを表示」から、イメージタグは次のとおりです。
<img id=image2 src="/workshop/samples/author/dhtml/graphics/sample.jpg"
style="filter:progid:DXImageTransform.Microsoft.Blur(strength=50),
progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"
height="165px" width="256px" border="0" alt="ocean beach">
以下を使用して、IE7 および 8 でボックス シャドウの「広がり」をある程度うまくシミュレートしました (ただし、成功するかどうかは、見た目がどれだけ受け入れられるかによって異なります)。
filter: progid:DXImageTransform.Microsoft.Shadow(Color=#c5c1ae, Strength=10, Direction=0)
progid:DXImageTransform.Microsoft.Shadow(Color=#c5c1ae, Strength=10, Direction=90)
progid:DXImageTransform.Microsoft.Shadow(Color=#c5c1ae, Strength=10, Direction=180)
progid:DXImageTransform.Microsoft.Shadow(Color=#c5c1ae, Strength=10, Direction=270);
影が div のすべての側面から広がるようにします。また、グラデーションを含む div に影を組み合わせました。ただし、これには危険が伴います。上記の場合、影にはレイアウトがあり、そのサイズに合わせて余白を調整する必要があります。また、IE は IE であるため、これらのフィルターのいくつかを組み合わせることで、回避策を開発したり、アプローチを放棄したり、髪の毛を抜いたりするなど、意図しない結果が生じる可能性があります。
質問の元の例では、複数のフィルターをリストすると、他の CSS プロパティと同様に、前のフィルターは後続のフィルターによってオーバーライドされます。2 番目の例では、「!important」は完全にスタイルの最後にある必要があります。そうしないと、CSS のブロック全体が形式が間違っているため破棄されます。(実際には、!important は完全に破棄する必要があります。それを使用する必要がある唯一の理由は、サード パーティのコードを開発していて、自分が制御できない別の !important-happy 開発者からタグを守る必要がある場合です。スタイルが意図せずオーバーライドされている場合は、より具体的な宣言が必要です。)