コンディショナルコメントの書き方で理解できない部分

このQ&Aのポイント
  • コンディショナルコメントの書き方で理解できない部分について質問があります。
  • 特に、6行目の<!-->と8行目の<!--<![endif]-->の書き方について疑問があります。
  • また、!(IE)という指定はなぜ必要なのかも知りたいです。
回答を見る
  • ベストアンサー

コンディショナルコメントの書き方で理解できない部分

以下のサイトで http://www.nemuchan.com/css3/ie01.html 以下のようなコンディショナルコメントの書き方がされていました。 ------------------------------------------------ <!--[if lt IE 7]><html class="ie6" lang="ja"><![endif]--> <!--[if IE 7]><html class="ie7" lang="ja"><![endif]--> <!--[if IE 8]><html class="ie8" lang="ja"><![endif]--> <!--[if IE 9]><html class="ie9" lang="ja"><![endif]--> <!--[if (gt IE 9)|!(IE)]> <!--> <html class="" lang="ja"> <!--<![endif]--> ------------------------------------------------ これについて、 6行目の <!--> 8行目の <!--<![endif]--> がなぜそのような形になるのかがどうしても理解できませんでした。 これはなぜこのようになるのでしょうか。 また、「コンディショナルコメントは、IE以外では認識しない」と思うのですが、 !(IE)とわざわざ指定する意味はあるのでしょうか。 色々調べてみたのですが、お手上げ状態です。 ご教授の程よろしくお願いいたします。

  • HTML
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1
double_F
質問者

お礼

完全に解決しました! ありがとうございます♪

関連するQ&A

  • HTML文について

    下記の★印の意味を教えてください。   <!DOCTYPE html> ★<!--[if lt IE 7]><html class="no-js ie lt-ie9 lt-ie8 lt-ie7" lang="ja"><![endif]--> ★<!--[if IE 7]><html class="no-js ie lt-ie9 lt-ie8" lang="ja"><![endif]--> ★<!--[if IE 8]><html class="no-js ie lt-ie9" lang="ja"><![endif]--> ★<!--[if gt IE 8]><!--> <html class="no-js" lang="ja"> <!--<![endif]-->

    • ベストアンサー
    • HTML
  • ソースコードについて

    あるサイトのソースを参考に勉強中なのですが <!DOCTYPE html>の下に、 <!--[if lt IE 7]> <html lang="ja" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <html lang="ja" class="no-js lt-ie9 lt-ie8 ie7"> <![endif]--> <!--[if IE 8]> <html lang="ja" class="no-js lt-ie9 ie8"> <![endif]--> <!--[if gt IE 8]><!--> <html lang="ja" class="no-js"> <!--<![endif]--> とかかれてまして この意味/効果がわからないので教えてください。 また、このようなソースコードの意味が書かれてるサイトがもしあるなら教えてください。

  • <!--[if IE 9 ]>

    <!--[if IE 9 ]> <html class="ie ie9" lang="ja"><![endif]--> と <!--[if (gt IE 9)|!(IE)]><!--> の意味を教えてもらえますか? とあるサイトのソースに入ってました。

    • ベストアンサー
    • HTML
  • DreamweaverでIE用Java反映されない

    Dreamweaver でWebを作成しているのですが、IE用に作ったJavascriptが反映されません。テンプレートに書き込みブラウザで確認するとOKなのですが、そのテンプレートを使用したほかのページにはうまく反映されません。どうしてでしょうか? 他の文字情報やDivなどはテンプレートに応じ自動で変更されるのですが、IEに関する部分だけ反映されません。 見よう見まねで作っているところがあるので基本的な知識が足りないので、分かりやすくご説明いただければ本当に助かります。 使用環境 Dreamweaver5.5 <head>の上に <!--[if lt IE 7]><html class="ie ie6" lang="ja"><!endif]--> <!--[if IE 7]><html class="ie ie7" lang="ja"><!endif]--> <!--[if IE 8]><html class="ie ie8" lang="ja"><!endif]--> <!--[if (gte IE 9)|!(IE)]><!--><html lang="ja"><!--<![endif]--> 参考書には、全ての行は <![endif]--> で終わるように書いてあるのですが、そうするとなぜかテンプレートを更新できません。 <head>内に <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <script src="js/ie.js"></script> <link rel="stylesheet" href="../css/ie.css" type="text/css"> <![endif]--> ie用のJavascriptには下記を記入 (function($){ $(function() { $(".list-2column li:nth-child(2n)").addClass("child2n"); $(".list-3column li:nth-child(3n)").addClass("child3n"); $(".list-4column li:nth-child(4n)").addClass("child4n"); }); })(jQuery); 是非よろしくお願いいたします。

    • 締切済み
    • CSS
  • html CSSにおけるno-jsとは何ですか?

    wordpressを用いてサイト作成の勉強をしています。 ヘッダー部分に以下のようなコードがありました。 <html <?php language_attributes(); ?> class="no-js"> <?php language_attributes(); ?> は <html lang="ja">と同じ意味と分かりましたが、 class="no-js" はどういう意味なのでしょうか? 検索すると、IEのバージョンによって仕様を場合分けしたい時に <!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="ja"><![endif]--> のように使うみたいですが、class="no-js" は絶対に書かないといけないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • コンディショナルコメントの正しい記述方法を教えてください。

    個人的にDreamweaverCS3を使ってHPを制作しているのですが、今まではハックを利用していたのですが、コンディショナルコメントというものを知りそれを利用してHPを作りたいと考えているのですが各説明サイトをみて試したのですが、HTMLの<head></head>間に以下のような記述をしても認識してもらえないのですがどうしてなのでしょうか? --------------------------------------------------------- <!--[if IE 7]> <link rel="stylesheet" type="text/css" href="ie_6.css" /> <![endif]--> <!--[if lte IE 6]> <link rel="stylesheet" type="text/css" href="ie7.css" /> <![endif]--> <!--[if !IE]>--> <link rel="stylesheet" type="text/css" href="other.css" /> <!--<![endif]--> -------------------------------------------------------------- ※ちなみに最後の一つだけは認識するようなのです。 <!--[if IE 7]><![endif]-->この記述は必要なのでしょうか?そしてこれはコードなのでしょうか?コメント扱いなのでしょうか? 周りにまったくHTMLをわかる人がいないのでご助言を頂けたらと思います。よろしくお願いいたします。

  • 【急ぎでお願いします!】コンディショナルコメントが効かない!

    【急ぎでお願いします!】コンディショナルコメントが効かない! 表題の通りです。 現在cssでHPをレイアウトしているのですが、何故かIE6でコンディショナルコメントが効かないのです。IE7は問題ないです。 コンディショナルコメントの書き方が間違っているのでしょうか? 挿入場所は<head>~</head>の間で、下記のように記述しています。 <!--[if IE 6 ]> <link rel="stylesheet" href="ie6-style.css" type="text/css" /> <![endif]--> どなたかお分かりになる方いらっしゃいますか?

    • ベストアンサー
    • HTML
  • html5.jsを使うと、IE8以下で真っ白になる

    html5で作成したもので、ie8以下に対応させるため、 <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> を使用しましたが、IEでの開発モードで、標準、互換モードともに、ie8以下真っ白になってしまいます。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <title>~</title> で書いています。 <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> の部分をなくすと、ie8以下では、html5を無視した形で表示されます。 この原因は何でしょうか。エンコードを疑いましたが、どうやらこのjsのようなのですが。

    • ベストアンサー
    • HTML
  • HTML5について

    ものすごく初歩なことをたずねたいのですが、 IE8以前にに新しい要素を認識させる方法として <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> があると知ったのですが、 これを<head>内に記述すると、当然きちんと認識されるのですが、 画面を見た時に一番上に<!--[if lt IE9]> <![endif]--> と表示されてしまいます。 ・・・この文字は消せないのでしょうか?

  • HTML5について

    前回質問したのですが解決せず、日にちがだいぶたってしまったので、 再度質問させて下さい。 IE8以前にに新しい要素を認識させる方法として <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> があると知ったのですが、 これを<head>内に記述すると、当然きちんと認識されるのですが、 画面を見た時に一番上に<!--[if lt IE9]> <![endif]--> と表示されてしまいます。 ・・・この文字は消せないのでしょうか? 使用しているブラウザはIE8とIE6です。 【HTMLソース】 <!DOCTYPE html> <html> <head> <!--[if lt IE9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link rel="stylesheet" type="text/css" href="style_html.css" /> <link rel="stylesheet" type="text/css" href="style.css" /> <meta charset="shift_jis" /> <title>HTML5</title> </head> <body> <h1>HTML5</h1> <section> <h2>タイトルなんちゃら</h2> <p>あけましておもでとうございます。今年もよろしくお願い致します。</p> </section> </body> </html> ・・・・・・どこが間違っているのか分からず困っています。 ご指摘どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML

専門家に質問してみよう