- ベストアンサー
DOCTYPE宣言はしなくていいの?
はじめまして、いまWEBの学校でHTMLを勉強中です。テキストなどではDOCTYPE宣言を記述するように書かれていますが、宣言は必要ないと教わりました。 本来書いたほうがいいのだということはわかりますが、なぜ書かなくてもよいのかわかりません。 また、実際にHTMLを書く仕事をされている方もDOCTYPE宣言は記述しないのが普通なのでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
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
その他の回答 (2)
- taba
- ベストアンサー率61% (349/567)
ちょっと誤解されているようなので、少しだけ。 >ただ、記述しなくてもIEやNNなどのブラウザが勝手にHTMLを解釈して表示してしまうものなんだということもわかりました。 この表現は、正確ではありません。最近のブラウザ(IE6、NN6等)は表示モードを2種類持っています。DOCTYPEをどう書くか(=どのバージョンのHTMLで記述するか)によって、実際の表示が変わります。DOCTYPEを書かない場合の表示方法も決められています(互換モードというモード)。 確かに勝手に表示されるのですが、表示したいように表示できなくなる危険性もあります。 書かない場合も、一定のルールで解釈してくれるだけであって、CSS2などを使ってみれば分かりますが、表示が大きく変わる部分もあります。 学校で学んでいらっしゃり、今後そういったお仕事をする可能性もあるのであれば、正しく理解しておく必要があると思います。私はデザイナーではなく、デザインを発注する立場で仕事をしてきた人間ですが、DOCTYPEを理解していない人には発注しないと思います。 まぁ、そういったことにこだわらない人がいるのも事実ですし、一般化するつもりはありません。お勉強、頑張ってください。
お礼
ありがとうございます。 将来的にはWEBの仕事に従事したいと思っております。 実際には勉強を始めたばかりですのでとまどってばかりですが、さまざまなソースから情報を得て学習していこうと思います。 がんばります。
METAタグの「Content-Type」ではなく、<!DOCTYPE~>の方ですよね? 使ったことないですね~。プライベートでも仕事でも。 書かない理由は、 1.書かなくてもなんら問題ないタグだから。 2.どのバージョンのHTMLに準拠しているなど、把握して書いてないから。 3.準拠しているHTMLのバージョンなんて、大した事ではないから。 4.他のプログラム言語と違って、HTMLの場合バージョンが変わっても特に大きく変わることはないから。(例えばまったく使えなくなるタグができるとか、エラーになるとかないから困らない) とまぁ、こんなもんかな。 HTMLのバージョンなんて、ソースで操作するものではなく、ブラウザで勝手に解釈してくれるものなので、必要ないんだと思います。
お礼
早速のお返事ありがとうございました。実際にお仕事をされている方からの意見で大変参考になりましたありがとうございました。
お礼
早速のご回答ありがとうございます。 参考URLを早速拝見しました。 やはり、DOCTYPEは必要なものだということがよくわかりました。 ただ、記述しなくてもIEやNNなどのブラウザが勝手にHTMLを解釈して表示してしまうものなんだということもわかりました。 プロが書くものである限り、記述するべきものなんでしょうね。 ありがとうございました。