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’
自分自身を止めておきましょう。