ここ数日のVMLに関する問題について、その原因

IE8において、標準モードではVMLの変更があります

IE8の互換モードでは、SIEは問題がないのですが、標準モードでは問題が発生します。その原因を調べるうちに、以下のサイト(英文)を発見しました。

Changes in VML for IE8, or “what feature can the IE dev team break for you today?”

http://www.lrbabe.com/?p=104

問題の原因

内容をかいつまんで解説しますと、

  1. documents.namespacesオブジェクトは第3引数が必要(参照: http://msdn.microsoft.com/en-us/library/ms535932(VS.85).aspx
  2. CSSセレクタの仕様が変更 (*が使えなくなった)
  3. 要素の位置の値を設定したとき、勝手にpxという単位を付けなくなった。IE7(あるいはIE8互換モード)までは0だと、0pxだとブラウザ側が解釈してくれた。
  4. DOMを経ないで、VMLの要素の生成が困難に(注:解決法あり)
  5. %じゃなくてpxで単位設定

SIEでは

ひとまず、pxという単位を丁寧に付けていきたいと思います。