Internet Explorer 7 がリリースされて半年余り。当然 Windows Vista には標準装備ですし、予定ではそろそろ Windows XP にも Windows Update によって強制的にインストールされる時期です。

様々な改善点とともに様々な問題もある IE7 ですが、その一つに CSS の position プロパティを使うと、拡大・縮小時にレイアウトが崩れるという問題があります。

※ position プロパティは、ブロック要素を絶対的・相対的に配置でき、レイヤを配置するような自由なレイアウトが可能です。

ベータ版公開の時期から薄々感じてはいたのですが、私自身あまり position プロパティは使わないので今まで深く追求していませんでした。

しかし現在制作中のサイトで、レイアウトの都合上から一部に position プロパティを使ってコーディングし、ひと通りのブラウザで表示を確認したあと、 IE7 で拡大・縮小を試したところ、この問題を確信したのです。

どういうことかというと、IE7Opera のようにページ全体の拡大・縮小ができるようになり、これが文字の拡大・縮小より優先的に機能するようになりました。
([Ctrl] と [+] [-]キーやマウスホイールによる操作が、文字の拡大・縮小ではなく、ページ全体の拡大・縮小として機能します。)

これはこれで、高齢者や弱視の方にとってはとても便利な機能なんですが、position プロパティでレイアウトしたページを拡大・縮小すると、ブロック要素が重なり合ったり、反対にどんどん開いたりするのです。
仕方なく、いつも通りに float プロパティ等を駆使してレイアウトをやり直しました。

なお、同じ position プロパティでも position: fixed は IE7 でも有効です。
これを使うと画面をスクロールしてもその要素が移動しないので、メニューを常に表示させたりということが可能なわけすが、IE6 まではこの値には対応していませんでした。これが IE7 で対応するようになりました。

いずれにしても、当面は最低限 Firefox と IE6IE7 で、それぞれ文字や画面を拡大・縮小しての表示確認は必須ですね。因みに Safari は基本的に Firefox で正しく表示されていれば問題ないと思います。