« 仕事アイテム サインはVGA | Back To Blog Top | Daily Link 2007-03-10 | Note »
Conditional Comments(条件付きコメント)に関するあれこれ
概要
Conditional Comments(条件付きコメント)は、IEのHTMLサイドの独自拡張です。
独自拡張、と聞くと眉をひそめる人も多いですけど、まあちょっと聞いてください。 使いようによっては便利かもしれません。
使い方は簡単。 コメント内に、IEの振り分け用キーワードを記述するだけです。
該当のバージョンのIEはその内容をコメントではなく通常のデータとして解釈し、それ以外のブラウザは単なるコメントとして扱います。
単なるコメントとして扱うという事は、バリデータに通るという事です。
ですが、独自拡張という呼び方から誤解されがちです。
使いどころ
head要素内でCSSの振り分けに使われる事が多いのですが、あくまでコメントなのでbody要素内でも使えます。
サンプル
まあ、メインの用途はCSSの振り分けでしょうし、この記事でもそれを主に想定しています。
ただ、知識として一応。
メリットを考えてみる
- バリデータに通る
- CSSファイルを汚さずにブラウザの振り分けができる
- 対応ブラウザから外す場合も比較的ラク(ページ数などによる)
バリデータに通るのは、使う時の理由(言い訳)としては中々です。
CSSファイルはIE用のハックで汚れがちなので、それらをまとめて別ファイルにできるのも良い感じ。
デメリットを考えてみる
- メンテナンス性が心配
- HTMLが汚れる
- 独自拡張ってどうなん?
- つーか ピー なブラウザを作ってる奴に従いたくない
こんな感じでしょうか。
一つ目のメンテナンス性というのは、(特に)ページ数の多いサイトの場合、条件を変更したり、あるいは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