ちょっとブラウザ問題で痛い目にあいそうだ。
というのも、最近googleがChromeを発表し、世間を騒がせたが、
それ以上のインパクトを持つ核弾頭、IE8のリリースも控えているのである。
今はbeta2がダウンロード出来るが、すでにネット上では色んな記事が書かれている。
その中の多くは、互換モードに関する記事。
要約すると、
・IE8は後方互換を意識し、デフォルトをIE7モードのレンダリングにしている。
・IE8モードのレンダリングでサイトを表示させたい場合、別途metaに専用の記述をするか、サーバー側で処理する必要がある。
という部分が大きい。
つまり、僕らWEB制作屋にとっての実害は、
・これまで作ったサイトのハック等が読まれないくせに、レンダリングだけはIE7モード
・新しく作るサイトでも、結局はIE7/6の時の苦労に悩まされ続ける
という事だろうか。
(この記事を書いている時点でまだbeta版なので、どう転ぶかは分かりません。あしからず。)
特に前者がヤバい。
これまで作ったサイトをシラミつぶしに人海戦術でチェックし、ハックによる崩れがないかを確認しないといけない。
で、ちょっと何気なくこれまで良く使って来たハックがどんな感じになっているかサンプルページを作って検証してみた。
僕がこれまでに使って来たCSSハックって、
・IE6・・・「* html selector」
・IE7・・・「*+html selector」
・Safari2・・・「html:\66irst-child selector」
・Safari3・・・「body:first-of-type selector」
くらいなのです。
で、それらをIE8で見てみてびっくり!!
IE6/7用のは予想通りIE8では読まれないのです。
しかし、Safari2用のハックがなぜかIE8では読まれてしまうのです。
僕はこれまで、数は多くないけれど、Safari2用のハックというものを使ってきました。
そういうサイトでIE8に読まれてしまうのはいただけないですね。
ちなみに、FFではまったく読まれませんでした。
しかし、Operaでもsafari2用のハックは読まれてしまっていました。
うーむ。色々悩ましそうだ。
p.s.余談ですが、google ChromeはSafari3のハックを読み込んでいました。まぁwebkitだしね笑