NexTech

expression

IE8標準モードでexpressionは廃止されます。

CSS expression サポート終了について(MSDN)

expressionとはなんぞや

expressionはIE独自のcssプロパティで、css中にJavaScriptが記述できるものです。
要は、javaScriptで自由にcssをカスタマイズできるってことです。

主な用途は?

主な用途は2つあって1つはFireFox等より最新のcssの実装が遅れているIEでこのexpressionで代用する方法。もう1つは悪意あるユーザーによりXSSに利用されること

最新cssの代替

あまり知られていませんが、:afterや:before A要素以外の:hover等をexpressionで代替させることができます。もっともJavaScriptで出来ることならなんでもできるので当たり前ですが。。。。

:hover

IE6ではAタグの:hover擬似要素しか対応していません。

expressionの注意点

ちなみに何故expressionがはやらなかったのかというと、その複雑な仕様によります。

特に、mod_rewriteと同じくデフォルトが再帰系のプログラムになっているので
注意が必要です。間違えると簡単に無限ループ状態に陥ってブラウザが落ちます。
特に常に実行させる必要がなければ、最後に 
this.runtimeStyle.behavior=’none’
自分自身を止めておきましょう。

関連リンク


IEのexpressionとURL