私のおすすめ:
CSS3Pieを使用する-http ://css3pie.com/
これは、IE6、IE7、およびIE8用のJavaScriptライブラリであり、グラデーションを含むいくつかのCSS3機能をサポートするパッチを適用します。
はい、必要に応じて恐ろしいIE固有のfilter
スタイルを使用できますが、CSS3Pieではこれらの機能に標準のCSSスタイルを使用できます。はるかに簡単です。
あなたの直接の質問に実際に答えるには:
はい、-ms-filter
通常はスタイルが必要です。IE8はfilter
、主にIE6とIE7に使用されるの代わりに常にそれを使用します。IE8で動作する場合もありfilter
ますが、すべてではないため、-ms-filter
IE8との互換性を確保するために使用することをお勧めします。
[編集]なぜ彼らはそれを変えたのですか?彼らがIE8をリリースしたとき、Microsoftは「標準に準拠」しようとする大きなポイントを作ったからです。
ブラウザが標準に準拠するためには、ブラウザがサポートするCSSプロパティに、最終的なW3C標準ではないベンダープレフィックスを使用する必要があります。そのため、プレフィックスを追加することで-ms-
、MicrosoftはグローバルCSS名前空間の汚染を(遅ればせながら)元に戻そうとしていました。
さらに、引用符のfilter
ない古い構文は無効なCSSであり(主に後のコロンのためprogid
)、一部のブラウザーで問題が発生したため、引用符が追加されました。(Firefox 3.6で、要素を回転させるスタイルに従ってすべてのスタイルを削除するインスタンスがありましたfilter
。何が起こっているのかを理解するのに何年もかかりました)。
filter
Microsoftが元の構文との下位互換性を保持しているという事実は、主に実用主義の問題でした。MSは、古い構文を使用してすべてのサイトを破壊する余裕がありませんでした。しかし、Microsoftからは、開発者は両方を使用する必要があるという強い含意がありました。これfilter
は、IEの後続のバージョンで古いスタイルのサポートが終了するためです。結局のところ、彼らは両方のサポートをやめ、一挙にサポートを終了filter
し-ms-filer
ましたが、IE8のリリースで与えられた影響は、スタイルシートで両方の構文を提供するための推奨プラクティスになるのに十分でした。
IE8がリリースされた当時、XHTMLは今月の新しいフレーバーであり、完全に検証されたコードを作成することは、多くの開発者にとってリストのトップでした。これはおそらく、引用符を含めるための構文変更の強力な推進力でした。コロンが外れているため、古いfilter
スタイルを使用して検証するCSSを作成することはできません。代わりに新しい-ms-filter
スタイルを使用することで、人々は有効なCSSを書くことができました。良いアイデアが進むにつれて、もちろん人々はとにかく古い構文を使い続けなければならなかったので、これは実際にはうまくいきませんでしたが、意図は良かったです。
他の独自のスタイルにも同じ扱いが与えられたことを指摘する価値があります。たとえば、古いスタイル-ms-behavior
の代わりにIE8で使用できます。behavior
誰もそれを使用しません。なんで?よくわかりません。
知っておく価値のあるもう1つの事実は、W3Cがと呼ばれるCSSプロパティfilter
を標準化する過程にあるということです。filter
これは、Microsoftのスタイルとはまったく異なる仕事をし、まったく異なる働きをします。それが標準化され、ブラウザがそれをサポートし始めた場合、2つの構文の間に明示的な衝突が発生します。