Blog

※ブログ移転しました。 → hamashun.me

Conditional Comments(条件付きコメント)に関するあれこれ

概要

Conditional Comments条件付きコメント)は、IEのHTMLサイドの独自拡張です。
独自拡張、と聞くと眉をひそめる人も多いですけど、まあちょっと聞いてください。 使いようによっては便利かもしれません。

使い方は簡単。 コメント内に、IEの振り分け用キーワードを記述するだけです。
該当のバージョンのIEはその内容をコメントではなく通常のデータとして解釈し、それ以外のブラウザは単なるコメントとして扱います。

単なるコメントとして扱うという事は、バリデータに通るという事です。
ですが、独自拡張という呼び方から誤解されがちです。

使いどころ

head要素内でCSSの振り分けに使われる事が多いのですが、あくまでコメントなのでbody要素内でも使えます。
サンプル
まあ、メインの用途はCSSの振り分けでしょうし、この記事でもそれを主に想定しています。
ただ、知識として一応。

メリットを考えてみる

バリデータに通るのは、使う時の理由(言い訳)としては中々です。
CSSファイルはIE用のハックで汚れがちなので、それらをまとめて別ファイルにできるのも良い感じ。

デメリットを考えてみる

こんな感じでしょうか。
一つ目のメンテナンス性というのは、(特に)ページ数の多いサイトの場合、条件を変更したり、あるいはConditional Comments自体を削除する時が面倒という物です。
これはphpやTemplate Toolkitでincludeさせれば、わりと解決できます。
残りの3つは気持ち的な問題だと思います。 HTMLが汚れるとは言ってもバリデータは通過する訳で。
バックスラッシュハックがアリなら、Conditional Commentsもアリかな、と最近思っています。

スタンドアローン版IEでの対応状況

スタンドアローン版IEだとConditional Commentsは無視される、という話を聞くんですけど、何故か自宅の環境だと認識されます。
うーん、環境の違いでしょうか。
ソースは Lucky bag::blog: IE7 と CSS ハックと条件付コメント です。

まとめみたいなもの

こうして見てみると、こだわりや思想を別にすれば「案外良いかも」と思えてきます。
IE開発チームもハックよりConditional Commentsを使うべしとしているので、将来的にも一応安心。 一応。

とは言え、CSSハックもそうなんですけど、ブラウザの振り分けは最終手段にしたいですね。
それにしても、どうせならCSS側でも同じような事ができればいいのになあ(候補にはあったらしい?)。

補足:
サンプルページのConditional Commentsは、条件付コメント(Conditional Comments)実験ページを参考にしました。

TracBack

Reference Entry:  Conditional Comments(条件付きコメント)に関するあれこれ:

Hato-Style » IEの条件付きコメント(Conditional Comments)とか
IEの独自拡張実装、条件付きコメントについて考えてみました。
TracBack Time:  2007年03月25日 20:38

Contribution Form

Blog Search
Search
Recent Entry
Category
Monthly Archive