• ベストアンサー

DOCTYPE宣言はしなくていいの?

MtHillの回答

  • ベストアンサー
  • MtHill
  • ベストアンサー率68% (17/25)
回答No.2

DOCTYPE 宣言はタグではなく、マーク宣言と呼ばれています。 HTML の勉強をしているのであれば、どのルール (バージョン) で書いているのか 明確にするためにも必ず記述し、それに沿った文法で記述することをおすすめします。 font 要素や align="center" 属性などの使わない方がよいとされる要素を使うのであれば、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> と記述しておくといいと思います。 WEB の学校で宣言は必要ないと教えているようですが、正しい文法が軽視されているのはとても残念ですね。 正しい HTML 文法に興味があるのでしたら、Another HTML-lint http://openlab.ring.gr.jp/k16/htmllint/htmllint.html などでチェックしてみることをおすすめします。 なお、Internet Explorer 6.0 以上、Netscape 6.0 以上などでは、DOCTYPE 宣言によって表示の仕方が異なります。 DOCTYPE 宣言に関する詳細は下記 URL をご覧ください。 http://www.ne.jp/asahi/minazuki/bakera/html/sgml/doctype http://www.kanzaki.com/docs/html/htminfo15.html#S18

参考URL:
http://www.kanzaki.com/docs/htminfo.html
tiltwait
質問者

お礼

早速のご回答ありがとうございます。 参考URLを早速拝見しました。 やはり、DOCTYPEは必要なものだということがよくわかりました。 ただ、記述しなくてもIEやNNなどのブラウザが勝手にHTMLを解釈して表示してしまうものなんだということもわかりました。 プロが書くものである限り、記述するべきものなんでしょうね。 ありがとうございました。

関連するQ&A

  • 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
  • HTML5のDOCTYPE宣言

    HTML5のDOCTYPE宣言 よろしくお願いします。 HTML5のDOCTYPE宣言で、WinIE6を含むほとんどのモダンブラウザが標準準拠モードで動作することは、ネットなどで見てわかったのですが、 MacIEはどうでしょうか? 本来は自分で検証するべきだと思うのですが、手元に環境がないので確認ができません。 どなたか検証された方、もしくは掲載されているサイトを御存知でしたら教えていただけないでしょうか。 よろしくお願い致します。

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

    こんにちは。 いつもお世話になっています。 今、自分の趣味のサイトの再構成に取りかかっています。 今までのテーブル多用ではなく、外部スタイルシートを使って主にdivを使った構成に切り替えたいと思っています。 あちこちのサイトのスタイルシート講座を覗いたり、市販の本を買って読んでみたり自分なりに勉強しているつもりです。 そこで一つ疑問にが出てきたのですが。 最近買った本の中で、ブラウザの表示の違いを避けるためにも、DOCTYPEの宣言を記述した方がよいとありました。 今のところはTransitional DTDが一番多く採用されているようですが、その中でも標準モードと互換モードがあるようです。 私の使っているホームページビルダー12ではデフォルトで <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" > の互換モードの記述が挿入されます。 標準モードの記述は <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> のようですが、標準モードと互換モードの違いが今ひとつよくわかりません。 本にはブラウザによって ●text-alianプロパティによるブロック要素のセンタリングに違いが出る ●margin:atuoの動作に違いが出る ●ボックスサイズの算出に違いが出る ●フォントの標準サイズに違いが出る とありましたが、ブラウザによっての表示の違いを少なくするためには、どちらのモードが望ましいのでしょうか? それとも趣味のサイト程度なら、かえってDOCTYPEの記述がない方がブラウザによっての表示の違いが少ないのでしょうか? また標準モードにすると、IEやOperaで表示されるはずのスクロールバーの色や形等のスタイルが反映されなくなってしまうようですが、これは他のブラウザが対応していないせいなのでしょうか? 個人のサイトならそこまで気にすることないことかもしれませんが、後学のためにも知っておきたいと思います。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • 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宣言について教えてください

    初心者です。 DOCTYPE宣言にはStrictとTransitionalとFramesetがあるようですが 私が作ってみたhtmlではStrictが原因で思っていた通りに反映されないことがよくありました。 Transitionalに変更すると思い通りに反映されました。 なので基本的にTransitionalで記述した方が良い気がするのですが、 ネットで様々なホームページのソースを見てみるとStrictで記述されているのもいっぱいあります。 やはりこの2種はしっかり使い分けた方が良いのでしょうか?

  • <!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
  • DOCTYPE宣言の意味を教えてください!!

    DOCTYPEの宣言で何を記述するかをうたっていることは知ったのですが、その中でも色々種類がありました。 特に、Transitionalやストリクト?(スペル分かりません)などあるようですが、これらは何が違うのでしょうか?? メリット・デメリット等も合わせてご存知の方おられましたら、アドバイス宜しくお願いいたします。 

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

    たくさんのサイトで「IE7で表示くずれのあるページはDOCTYPE宣言を修正すればIE6での表示結果にちかづく」とありました。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> これはシステム識別子をのぞいた状態であり、IE6・IE7ともにQuirksモードという互換モードで認識するとありました。 ここでわからなくなるのですが、IE6でもIE7でも同じ認識の仕方をしているにもかかわらず、なぜIE7とIE6で表示のされ方が違うのでしょうか? 結局、IE6用のバグ逆利用css指定がIE7でバグがとられていたためという結論でいいのでしょうか? 現在、自社サイトのIE7用の表示チェックを行っており、DOCTYPE宣言を変更(識別子を加える)する必要があるのかないのかが、サイトを読んでもなかなか理解しづらいため質問させていただきました。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • DOCTYPE宣言の前の行のソース

    皆さま、お世話になります。独学でHPの勉強を始めたばかりの者です。殆どのHPのソースにはDOCTYPE宣言が1行目にあるのですが、DOCTYPE宣言のソースの前に、 <?xml version="1.0"encoding ="UTF-8" standalone ="yes"?>とあるHPのソースを見ました。 DOCTYPE宣言が始めに来ると思っていたので、分からなくなりました。ご教授頂ければ幸甚です。 また、独学でWebを学んでいる人たちの質問などを受け付けている掲示板等がありましたら、そちらも教えて下さい。どうぞ宜しくお願い致します。

    • ベストアンサー
    • HTML
  • DOCTYPE宣言をするとstyleが適用できない

    webサイト作りの初心者です。 初め、ドキュメントタイプ(DOCTYPE)の宣言を書かずに<html>タグからコードを書いていたのですが、 全体がある程度形になってから、1番上に <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> を追加し、<html>を <html xmlns="http://www.w3.org/1999/xhtml"> に変えると、デザインが変わってしまいました。 具体的には、 <div style="height:960;">~</div> と書いて作っていたブロックの高さが、 DOCTYPE宣言を書く前はちゃんと960になっていたのですが、 書いた後は、中に入っているコンテンツ(テキスト)の高さまで縮み、style部分の数字をいくらいじっても変わってくれません。 他にも、style属性のmargin-leftなどが適用されなくなっていました。 なぜ、DOCTYPEの宣言をするとstyleが適用されなくなったのでしょうか? また、どうすれば適用されるようになるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML