<!DOCTYPE html>について

このQ&Aのポイント
  • HTML4.01のファイルの最初には<!DOCTYPE html>と記述します
  • 省略形の<!DOCTYPE html>ではどのルールが適用されるのか疑問です
  • ご教授いただけると幸いです
回答を見る
  • ベストアンサー

<!DOCTYPE html>について

html4.01のファイルの最初に<!DOCTYPE html>と記述している サイト・参考書を見かけるのですが、 これは、何を意味しているのでしょうか? 私は、いつも以下のように記述しています。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">(strict使用宣言) 省略した形<!DOCTYPE html>で記述すると、このHTML4.01では どのルール(Strict?Transitiona?Frameset)が適用されるのでしょうか? ご教授 よろしくお願いします。

  • HTML
  • 回答数5
  • ありがとう数4

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

>ORUKA1951様は、後日どの仕様で作成したかわかるよう、かつ【ブラウザが標準モードで動作するために】記述されている  そうです。HTML5のドラフトが公表されてからは、HTML4.01strictで作成するときは、基本的には <body>  <div cass="header">  </div>  <div cass="section">   <div cass="section">   </div>  </div>  <div cass="footer">  </div> </body>  のように、作成しつつ、HTM4.01strictの範囲内で、かつHTM5の理念に沿った記述をしています。将来簡単に変更できる。 <body>  <header>  </header>  <section>   <section>   </section>  </section>  <footer>  </footer> </body>  HTML5は、まだまだ細かい変更がありそうですし、いつもながら古いIEが足を引っ張っている状況ではHTML5への移行は現実的には無理。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  と記述しておけば、すべてのブラウザが確実に標準モードで動作してくれるので、機能的には<!DOCTYPE html>と同等だと考えているからです。問題なのは、<!DOCTYPE html>と記述しながら、transitionalやframesetの要素や属性を使用している参考書やネット上の資料です。  スマートフォンのみの閲覧を想定しているサイトでは<!DOCTYPE html>で、HTML5で作成することもありだとは思いますが、元々HTMLは特定のユーザーエージェントだけを目標とすべきでないことは「HTML4.01仕様書の2.2.1 HTMLの略歴 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.2.1 )」に書かれていますから、現状では、HTML4.01strictできちんとDOCTYPEを記述するのがベストだという判断です。

kureakai
質問者

お礼

補足情報ありがとうございます 大変納得することができました。 ご丁寧にありがとうございました。

その他の回答 (4)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.5

ORUKA1951様 詳しい解説ありがとうございます,たいへん勉強になります。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

誤解されている方が多いですが <!DOCTYPE html> は、特定のバージョンのHTMLを示すものではなく、ブラウザを標準モードで起動するDOCTYPEスイッチとして機能します。  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> と記述しても良いですが、 【引用】____________ここから To help authors transition from HTML4 and XHTML1, an obsolete permitted DOCTYPE string can be inserted into the DOCTYPE (in the position defined above). ・・・【中略】・・・ A DOCTYPE containing an obsolete permitted DOCTYPE string is an obsolete permitted DOCTYPE. Authors should not use obsolete permitted DOCTYPEs, as they are unnecessarily long.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[8 The HTML syntax — HTML5( http://www.w3.org/TR/html5/syntax.html#the-doctype )]より  許されているのは -//W3C//DTD HTML 4.0//EN -//W3C//DTD HTML 4.0//EN http://www.w3.org/TR/REC-html40/strict.dtd -//W3C//DTD HTML 4.01//EN -//W3C//DTD HTML 4.01//EN http://www.w3.org/TR/html4/strict.dtd -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd -//W3C//DTD XHTML 1.1//EN http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd だけですが、HTML5では、冗長なので使わないこと・・・  HTML4.01strictは、HTML4.01strictの文法に適合する限り、そのまま使用して構いません。言い換えると<!DOCTYPE html>>となんら変わりません。  私は、HTML5で取り入れられた新しい要素や属性、機能を使わないときは、HTML4.01strictで作成し、その場合も後日どの仕様で作成したかわかるよう、かつ【ブラウザが標準モードで動作するために】 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> と記述しています。 詳しくは・・ ★8 The HTML syntax — HTML5 ( http://www.w3.org/TR/html5/syntax.html )

kureakai
質問者

補足

情報ありがとうございます。 >HTML4.01strictは、HTML4.01strictの文法に適合する限り、そのまま使用して構いません。言い換えると<!DOCTYPE html>>となんら変わりません. つまりこれは、<!DOCTYPE html>は、4.01の可能性もあるし、HTML5の可能性もある。 よって、 ORUKA1951様は、後日どの仕様で作成したかわかるよう、かつ【ブラウザが標準モードで動作するために】記述されている ということでしょうか?

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2
kureakai
質問者

お礼

スイッチ情報だけのようですね。 情報ありがとうございます。

  • suffre
  • ベストアンサー率28% (259/919)
回答No.1

その宣言をしたhtmlファイルはhtml5で作成されたものを表しています。 http://www.htmq.com/html5/doctype.shtml

kureakai
質問者

お礼

情報ありがとうございます。 HTML5とスイッチ情報が記述されていますね。 アドレス情報もありがとうございました。

関連するQ&A

  • html 「DOCTYPE記述」について

    こんにちは。 タイトルの件ですが html4.01 Transitionalで宣言する場合、 <1> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> のように記述しますね。 上記に「http://www.w3.org/TR/html4/loose.dtd」を付け加えて <2> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">とも書きますね。 <1>と<2>差異は何でしょうか? <1>はスタンダードモード、<2>は互換モードであるとは理解していますが、そうだとすれば、<2>はStrictで宣言した場合と同じ結果になるのでしょうか? 詳しい方、教えていただけますか。 どうぞ宜しくお願いします。

    • ベストアンサー
    • HTML
  • DOCTYPE は何で宣言すればいいのか

    DOCTYPE は何で宣言すればいいのかどうやって決めればいいですか? とりあえずネットからコピペしてきた <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> で、宣言してるのですが、果たしてこれがどういう意味かさっぱり分かりません。 とりあえず問題なくブラウザで閲覧できればいいのでしょうか?

    • ベストアンサー
    • HTML
  • <!DOCTYPE html PUBLIC "-/

    初心者です。 HTMLでソースを作る場合 【1】 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> と 【2】 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> では、どちらを使ったほうが良いのでしょうか?

  • DOCTYPE 宣言

    最初のHTMLの宣言の各部分の意味を教えてください。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 最初のDOCTYPEはタグだということはわかるのですが それ以外、例えばPUBLICや『-』や『//』DTD,EN、最後のURLなどの意味がわからないです。

    • ベストアンサー
    • HTML
  • !DOCTYPEを書く場所

    ◦<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> フレームを使用する場合は上記をhtmlの冒頭に書くそうですが、左右にフレームがある場合のページの場合、少なくとも3つのページ(俗っぽくいうと、index.html、frame1.html、frame2.html)を作成する必要があると思うのですが、さて、冒頭のDOCTYPE宣言文は、3つのページのうちのどれの冒頭に書けばよいのでしょうか。

  • DOCTYPE宣言のURLって何?

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> このDOCTYPE宣言ですが "http://www.w3.org/TR/html4/loose.dtd" が入っているのと入ってないのとで、若干表示に違いが出てくることがあります。今やろうとしていること(長くなるので省略)は、このURLを入れないほうが思った結果になるのですが、なんとなく漠然と「より厳密にHTMLの仕様を定義づける記述」だと思ってたので安易に削除してしまって良いものか躊躇しています。 べつに省略してもたいして問題ないとは思うんですが、そもそもこのURLって何なのですか?細かく取り決めみたいなのが書いてありますが、これを宣言に加えるか加えないかで表示に違いが出るということは、前半の !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" のさらに細密な定義ということなのでしょうか。そうだとしたら別の定義のURLもあるのですか? 詳しいことをご存知の方がおられましたら教えてください。 ※環境はXPpro SP2、エディターはHTMLproject2、ブラウザはIE6、FF1.5です。まあ見られる方の環境は様々なのでウチのを言っても詮無いことですが一応。

    • ベストアンサー
    • HTML
  • DOCTYPE宣言について

    自分はXHTML1.0を参考通り <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> このように二列で入力しているのですが、一列で入力しても大丈夫なのでしょうか?また、オススメの宣言タイプ?があったら教えてください。お願いします。

  • DOCTYPE宣言は厳密に気にするべきか??

    現在WEBを独学で学んでおります。 そこでDOCTYPE宣言についていくつか疑問に思いました。 ひとつでもわかる方はご回答頂ければ幸いです。 1.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> と、ソースの頭に記述しておいて <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> の内容で記述(XHTML 1.0 Transitionalで記述)することは可能ですか?? つまり、HTML 4.01 Transitionalを宣言して終了タグなど、XHTML 1.0 Transitionalの方式で書いても正確に表示されるかを知りたく思って おります。 2.DOCTYPE宣言を書いてないサイトが多く見受けられますが、 この場合はどのようにDOCTYPE宣言と捉えられるのでしょうか? また、この場合のデメリットとかはありますでしょうか?? 以上、わかる方いましたらよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • html4で宣言していることになるのでしょうか?

    ソースの一番最初に <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> と書いた場合、 html4で宣言していることになるのでしょうか? html5は聞いたことが有りますが html4と言うのは存在するのでしょうか? html4.1と言うのは聞いたことがあります。

    • ベストアンサー
    • HTML
  • HTMLのDOCTYPE の意味は?

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> よそ様のサイトのソースを のぞいてみると という記述が一番最初ににありました。 どういう意味があるのでしょうか?

    • ベストアンサー
    • HTML

専門家に質問してみよう