CSSのIE独自拡張 expression() 関数は外部cssに記述しても動作しない。

タイトル通りですが、expression()関数を使うには下記の様にhtml内に記述しなければならないようです。
外部cssに記述してて、間違っていないはずなのに動作せず、ずっと悩んでました。


この例だと、IE6とそれ以下のバージョンに対して、id="container" な要素に対し、min-width: 1000px;を設定しています。
(document.body.clientWidth < 1024 )となっているのは、きっちり1000だと、うまく動作しない場合があったからですが、なんとなく増やしてみたらうまくいっただけなので、根拠はありません。

<!--[if lte IE 6]>
<style type="text/css">
#container{
  width: expression( (document.body.clientWidth < 1024 ) ? "1000px" : 'auto');
}
</style>
<![endif]-->

IE8では廃止

http://msdn.microsoft.com/ja-jp/ie/dd253083.aspx
IE8の標準モードでは、expression()は廃止されたようです。
IE7モードとQuirksモードでは動くとあります。

外部cssでも動作するという話も

動く動かない、どちらもぜんぜん検証が十分じゃないですが、外部cssに記述しても動くという話を聞きました。