web-dev-qa-db-ja.com

なぜdoctypeが必要なのですか? (それは何をするためのものか)

可能性のある複製:
HTML:!DOCTYPEの機能とは

私は最近ここに質問をしましたが、解決策は簡単でした:

ページにDoctypeを追加する必要があります。これで問題が解決するはずです。

現在、私のページはDoctypeなしですべてのブラウザで正常に動作します(IEを除く)。 IEはdoctypeを必要とし(これはIE唯一のもの)であり、他のブラウザはそれを仮定するだけです[〜#〜] or [〜#〜]または表示されていないことを実行していますか。

その機能とは何ですか?

57
Freesnöw

すべてのブラウザにはDoctypeが必要です。 DOCTYPEがなければ、ブラウザを強制的に Quirksモード でレンダリングします。

ただし、DOCTYPEは、目的ではありますが、ブラウザで 方言と解析の決定 で部分的にしか使用されていませんでした。 これがHTML5がDOCTYPEを単純に減らした理由です

<!DOCTYPE html>

2.2。 DOCTYPE

HTML5のHTML構文では、ブラウザーが標準モードでページをレンダリングするように、DOCTYPEを指定する必要があります。 DOCTYPEには他の目的がないため、XMLのオプションです。 XMLメディアタイプのドキュメントは、常に標準モードで処理されます。 [DOCTYPE]

DOCTYPE宣言は<!DOCTYPE html>およびHTML構文では大文字と小文字が区別されません。 HTML言語はSGMLベースであり、DTDへの参照が必要だったため、以前のバージョンのHTMLのDOCTYPEは長くなりました。 HTML5ではこれは当てはまらず、DOCTYPEはHTML構文を使用して記述されたドキュメントの標準モードを有効にするためにのみ必要です。ブラウザは既に<!DOCTYPE html>

出典:HTML4とのHTML5の違い:DOCTYPE

53
Kevin Peno

Doctypeは2つのことを行います。

  1. 使用しているHTMLの方言を識別します。
  2. ブラウザがドキュメントをレンダリングするために「標準」または「奇抜」モードを使用するかどうかを制御します。

Doctypeがない場合、または認識されないdoctypeがある場合、「quirks」モードを使用して、ドキュメントを可能な限り解釈します。 IS Doctypeであり、それが認識される場合、標準に準拠します。レンダリングの結果は、ドキュメントの解釈方法によって異なります。

12
Will Martin

どうして?

Doctypeを指定する理由これは、ドキュメントが実際に使用している(X)HTMLのバージョンを定義するものであり、これはドキュメントを処理する一部のツールが必要とする重要な情報です。

たとえば、ドキュメントのdoctypeを指定すると、マークアップ検証ツールなどのツールを使用して(X)HTMLの構文を確認できます。このようなツールは、使用しているドキュメントの種類がわからないと機能しません。

しかし、最も重要なことは、ほとんどのブラウザファミリでは、doctype宣言により多くの推測が不要になるため、「標準」レンダリングモードがトリガーされることです。

ソース: http://www.w3.org/QA/Tips/Doctype

5
onteria_

どのブラウザにもDOCTYPEが必要です。ブラウザにhtmlおよびcssの解釈方法を指示します。これが、html4とhtml5の定義が異なる理由です(xhtmlと同様)。検証にはすべて非常に重要です。

IEが行うことは、文書を「奇抜モード」と呼ぶものに入れることです。これは基本的に、CSSが(現代の定義により)動作する方法に関する一連のルール全体を無視します。ここに 問題の良い要約 。これは、標準化されていないCSSサポートの悪い昔を思い出させる

2
Stuart Burrows

ブラウザは、少なくとも標準モードと呼ばれるモードでレンダリングする必要があります。 John Resigのhtml 5 doctypeに関する記事を参照してください: http://ejohn.org/blog/html5-doctype/ 。ブラウザで標準を使用せず、1990年のようにレンダリングし、何も追加しないようにすると、フロートやその他の標準アイテムが正しく機能しなくなります。特定の標準に従ってページをレンダリング/検証する場合は、ドキュメントタイプにさらに追加する必要がありますが、必須ではありません。

2
scrappedcola

W3Schoolsのdoctypeは、「ページが記述されているマークアップ言語のバージョンに関するWebブラウザーへの指示」です。 (http://www.w3schools.com/tags/tag_doctype.asp)

Doctypeを含めない場合、ブラウザは実際とは異なる言語を使用していると見なし、正しく表示されないことがあります。

1
George Cummins

W3Schools 。comから:

Doctype宣言はHTMLタグではありません。これは、ページが記述されているマークアップ言語のバージョンに関するWebブラウザーへの指示です。

いくつかの異なるdoctypeがあり、それらを変更すると、ページのレンダリング方法が大幅に変更される可能性があります。

1
Ken Pespisa

Doctype宣言は、タグの前にあるHTMLドキュメントの最初のものでなければなりません。

Doctype宣言はHTMLタグではありません。これは、ページが記述されているマークアップ言語のバージョンに関するWebブラウザーへの指示です。

Doctype宣言は、ドキュメントタイプ定義(DTD)を参照します。 DTDは、ブラウザーがコンテンツを正しくレンダリングするように、マークアップ言語のルールを指定します。

参照

0
breezy