忍者ブログ
YOBLOGWeb Designer YO's Meanderings
<< prev  [34] [33] [32] [31] [30] [29] [28] [27] [26] [25] [24]  next >>
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

こんな記事を見つけたので訳してみました。(素人の翻訳なので、詳しくは本文でご確認ください)

本文:IE 7 will mess things up (yeggLever:Wednesday, 21 June 2006)

Internet Explorer 7 がリリースになって困った事態が起こるだろうとは思わなかった。だけどこのところ新しいサイトのデザインをしていて(おそらく1-2週間後にアップ予定)、Firefox/Safari/OperaとInternet Explorerで正しく表示されないバグがあって困っていた。最終的にはIEの条件コメントについての記事を見つけた。ただこのスクリプトを付け加えるだけのシンプルな解決法だ。

HTML:
1.< !- -[if IE]- - >
2.< style type=“text/css”>
3./* CSS here to fix Internet Explorer bugs*/ < /style >
4.< !- -[endif]- - >

IEが間違った表示をすることが記事を通してわかった。HTML内に記述したスタイルシートは外部のスタイルシートよりも優先して表示されるので、IEにとって“だめ”なスタイルシートを上書きする。しかし他のブラウザではコメントはコメントとして解釈するので、コメントの中に書かれた(本当に)“だめ”なスタイルシートは無視されそのまま正しいスタイルシートだけが適用される。

「グレイト!」と思った。「これで問題が解決だ」。だけど・・・ダメだ、まだダメだ。もうすぐIE7がリリースしそうじゃないか(たぶん1年以内に)、そしてすべては台無しに。なぜって?それはIE7がWeb標準に準拠したブラウザだから。

IE7の登場は、ふつうに考えて、歓迎すべきことだ。ついにPNGの透過がIEで正しく表示されるようになるし、それに他にもいろいろといいことがある。しかしもしIE7が外部のスタイルシートを正常に表示したら、バグ回避のための“直した”スタイルシートも読み込んでしまい、また表示が崩れるのではないか?

どうなるのか試してみようと思い、IE7 BETA2をインストールして新たな課題に取り組んだ。このように、sidebarを右寄せにして、marginにマイナスの数字を設定してみた。

CSS:
1.#sidebar {
2.float: right;
3.width: 200px;
4.margin: 0px -110px 10px 10px;
5.}

Firefox等のブラウザではグレイトだった。しかしIE6ではfloatが遠くに離れすぎてしまってだめ。もしIE6で調整すればFirefox等でだめだった。まったくいらいらする。そこで条件コメントをつけて、IE6用に行き過ぎを調整して、このバグを解決した。万事OK。

IE7以外のブラウザ(Safariなど)ではこの箇所のスクリプトは正常に表示されていたのに、IEは条件コメントを認識してしまうために、IE7では表示崩れが。ああ!サイアク!

・・・いや、そうでもないぞ。条件コメントはこのようにIEのバージョンを指定して表示させることもできるのだ。

HTML:
1.< !- -[if lt IE 7]- ->
2.< style type=“text/css”>
3./* CSS here to fix Internet Explorer (less than version 7) bugs*/
4.< /style >
5.< !- -[endif]- ->

グレイト!と思われるでしょう。これですべての問題が簡単に解決するじゃないか、と。

気難しい奴だと思わないでいただきたい。僕が言いたいのは、世のほとんどのサイトはIE7対策のためのスクリプトを準備していないのではないか、ということだ。僕が今たまたまサイトを作っていて、気がついただけだ。いろんなIE対策のハックを施している他の古いウェブサイトはどうだろう。それが条件コメントにしろ、他のあまたのCSSハックにしろ、古い“調整”のスクリプトを、IE7が認識するかもしれないし、しないかもしれないし、IE7がOperaやその仲間と同じようにCSSを読めば、その“調整”のせいで表示が崩れるかもしれない。

別にインターネットの消滅や呪われたプログラマーの崩壊を予言しているわけではない。実は、影響を受けるサイトなんかほとんどないんじゃないかと思っている。僕はただちょっと大変なことになりそうだと指摘しているのだ。なぜならしばらくの間、人々がXPからVistaに移行する間に、IE6もIE7もブラウザシェアを独占しないだろう。そしてその間にIE6のために書かれたスタイルシートは、修正されない限りはIE7で表示に問題がでてしまうかもしれない。

だからこそ、いつもハックに依存しない記述がもとめられるのだ。ほとんどの場合僕もそのように心がけているが。しかし、そうでないスタイルシートはIE7がリリースされたらどうなってしまうのだろう?
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

※コメントは管理人の承認後に表示されるよう設定を変更しました。
宣伝を含む内容のコメントは表示しない場合がございます。あらかじめご了承ください。

この記事へのトラックバック
この記事にトラックバックする:
Google
 
Sponsored Links
Links
相模原市橋本 ボブイングリッシュスクール(BES英会話)
ブログランキング・にほんブログ村へ
忍者ブログ [PR]