NeGiMeMo.net

ねぎさんのメモ帳。日常・メモ・ときどきWordPress。

IEの条件付きコメントまとめ

bell賞味期限切れコンテンツ

この記事は公開または最終更新から1272日くらい経過しています。
このメッセージが表示されている記事(特にプログラミング系)は情報が古くなっている可能性があるので注意して下さい。

未だにIE6〜最新まで全部なんとかして!みたいな案件は少なくないので。

スクリプトやCSSの振り分けに便利な条件付きコメントのまとめ。

<!–[if IE]>
<![endif]–>

IE全部。
ただし、IE10の標準モードとQuirksモードでは条件付きコメント自体が廃止
されてるので多分反応しない
<!–[if IE n]>
<![endif]–>
バージョン n のIEだけに反応。
[if IE 6] ならIE6限定。
<!–[if gte IE n]>
<![endif]–>

バージョン n 以上のIE限定。
gte は Greater-Than or Equal(以上)の意味だそう。
[if gte IE8] ならIE8か9かみたいな感じ。

<!–[if gt IE n]
<![endif]–>
バージョン n より上のIEだけに反応。
Greater-Than の略でイコールは含まれないため、「より上」となる。
[if gt IE7] だと、IE7は含まないのでやっぱりIE8か9かみたいになる。
<!–[if lte IE n]>
<![endif]–>
バージョン n 以下のIE限定。
lteはLess-Than Equal。つまり以下って意味。
高速データ通信でもなければ音楽ユニットでもありません。
<!–[if lt IE n]>
<![endif]–>
バージョン n 未満のIE限定
Less-Than の略で、やっぱりイコールがないので自身は含まない。
IE9未満にサポートスクリプトを読ませる事が多いので、
[if lt IE 9]は結構使う事が多いです。
<!–[if !IE n]>
<![endif]–>
バージョン n 以外のIE。
ビックリマークはプログラムとかでは「否定」の意味があります。
[if IE6]だったらIE6以外ってことですが、IE7やIE5は対象にならないので
いまいち使い勝手は良くないですね。
ただ、特定のタグがどうしても特定のバージョンでのみ表示がおかしくなる
場合に使うこともあるかもしれません。ただその場合は、そのCSSの記述
そのものを見なおしたほうがいい場合も…。
<![if !IE]>
<![endif]>

IE以外
IE以外のブラウザでしか表示されません。
これでIEお断りなサイトを作れる!と思ったアナタ!残念ながらIE4以下は
条件付きコメントを実装していませんので、実は見られてしまいます。
IE4なんて使ってる人もう居ないとは思いますが。。
あと、IE10の標準モードとQuirksモードでも条件付きコメントが廃止
されているのでやっぱり反応しないかもしれません。(未検証)

あと、地味にコイツだけ書き方が違う上に、バリデートも通らなくなります。

※IE10では相互運用性の向上と HTML5 準拠により標準モードとQuirksモードで条件付きコメントが廃止されてるため、条件付きコメントはただのコメントとして扱われるそうですが、これまでのIEを見ていると、なんだか不安になりますね。。w

TAGS