IE7対策:条件付コメントは使ってはいけない

以前IE7CSS問題のまとめと対策というエントリを書いたところ結構好評だったようで、はてブやdeliciousで(うちみたいな小さなサイトとしては)多くのブックマークを頂きました。ところが、本日のCSSniteにてその中の一部の手法があまり好ましくないことが発覚。タイトルはちょっと乱暴に言い切ってますが、さっそく訂正。

Cascading Style Sheet Compatibility in Internet Explorer 7では、

Using Conditional Comments

Conditional comments have been available since Microsoft Internet Explorer 5, and provide easy and maintainable ways to detect IE’s browser type and version. Since the syntax is based on comments, other browsers will just ignore the statements. This is a great way to replace filters like the * HTML filter that specifically tries to target IE. To keep it clean we propose that you use conditional comments to set up a link to an IE-specific style sheet.

<!–[if IE]>
<link rel=”stylesheet” type=”text/css” href=”iestyles.css” />
<![endif]–>

とのことだったので「Microsoft IEチームは条件付コメントを推奨している」と解釈して、条件付コメントを紹介したのですが、CSSniteに来ていたMicrosoftの方によると「JapanとUSのIEチームとでいろいろな見解はあるものの、条件付コメントについては推奨しているわけではなくて、あくまでも苦肉の策として入れたもの」だそうです。

確かにこれはあくまでIEの特定バージョンのみに対してCSSを修正するもので、次期バージョンのIEが登場したときに結局ここがネックになってしまい、さらなる修正を必要とするでしょう。CSSのコンポーネント化が普及しつつある現状からすると、メンテナンス性も悪そうです(HTML自体の修正が要るからね)。

今後のブラウザは標準準拠が進んでくるはずですから、まずは古いブラウザへのCSSを書いた上で、IE7を含むモダンブラウザだけが解釈できるようにCSSを書いて(例を挙げると:first-childや隣接クラスとか)プロパティを上書きする、という手法での対処が良さそうです。

この投稿の“カテゴリー”: ホームページTIPS。ブックマークは追加ブックマークにはパーマリンクをどうぞ。. コメントもしくはトラックバックをどうぞ: トラックバック URL.

2 個のコメント

  1. 投稿日時: 2007/3/25 日曜日、1:15:26 | パーマリンク

    IE7対策の条件付コメントは、Microsoftの方によると「JapanとUSのIEチームとでいろいろな見解はあるものの、条件付コメントについては推奨しているわけではなくて、あくまでも苦肉の策として入れたもの」#おぼえておこ…

  2. 投稿日時: 2007/4/4 水曜日、16:34:51 | パーマリンク

    苦肉の策らしい。

コメントする

あなたのメールは 絶対に 公開されたり共有されたりしません。 *マークは入力必須項目です。

*
*

次の HTML タグと属性が使用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">