web-dev-qa-db-ja.com

<!doctype html>は何をしますか?

このタグは何をしますか?

<!doctype html>

私が見ることができるのは、このタグが一番上にあると、私のhtmlは、ない場合とは異なる方法で動作することです。このタグが必要かどうかはどうすればわかりますか?

46

仕様で定義されているHTML の不可欠な部分です。

8.1.1 DOCTYPE

DOCTYPEは必須のプリアンブルです。

DOCTYPEはレガシーの理由で必要です。省略された場合、ブラウザはいくつかの仕様と互換性のない異なるレンダリングモードを使用する傾向があります。 DOCTYPEをドキュメントに含めることにより、ブラウザは関連する仕様に従うためのベストエフォートの試みを確実に行います。


追加して編集:

このシートベルトは何をしますか?

Seatbelt image

私が見ることができるのは、このシートベルトをつけた状態で、私の車はなしと同じように振る舞うということです。このシートベルトが必要かどうかはどうすればわかりますか?

何かがうまくいかず、手に入らなくなるまで、それが必要かどうかはわかりません。

115
zzzzBov
DOCTYPE Declaration is the abbreviation for Document Type Declaration (DTD).

DOCTYPE宣言(DTDまたはドキュメントタイプ宣言)はいくつかのことを行います:

  1. WebページでHTML検証テストを実行すると、HTML(HyperText Markup Language)バリデーターに、Webページのコーディングが準拠する(X)HTML標準のバージョンを通知します。 Webページを検証すると、HTMLバリデーターは該当する標準に対してコーディングをチェックし、コーディングのどの部分がHTML検証に合格していない(準拠していない)かを報告します。

  2. ブラウザに、標準に準拠したモードでページをレンダリングする方法を指示します。

WebページのコーディングにDOCTYPE宣言(DTDまたはDocument Type Declaration)が含まれていない場合、または正しく行われていない場合:

  1. HTML(HyperText Markup Language)Validatorを使用してページコーディングを確認することはできません。 HTML検証には、DOCTYPE宣言が必要です。

  2. Webページをレンダリングするブラウザーは、Quirksモードでコーディングを処理します。

  3. スタイルシートは計画どおりに実装されない場合があります。

どのDOCTYPEを使用する必要がありますか?

あなたがHTML(HyperText Markup Language)の初心者なら、HTML 4.01 Transitional宣言。 HTML検証 を実行する場合、初心者にとってはるかに寛容です。また、CSS(Cascading Style Sheets)をサポートするブラウザーが視聴者にないことがわかっている場合にも、この宣言を使用します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

このDOCTYPE宣言では、スタイルシートに含める必要のある要素とプレゼンテーション属性を引き続き使用できます。


将来に備えてコーディングを学びたいが、XHTMLの準備がまだ整っていない場合は、Strict宣言を使用します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

この宣言により、すべてのプレゼンテーション属性がスタイルシートに移動します。

DOCTYPE宣言(DTD)の完全なリストは、ドキュメントで使用できる 有効なDTDのリスト で入手できます。

18
Random Guy

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

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

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

ここから引用: http://www.w3schools.com/tags/tag_doctype.asp

:)

5
RylandAlmanza

Doctype宣言はブラウザで標準モードをトリガーするため、常に使用する必要があります。 Quirksモードは常に避けてください。

3
Nefeli

ブラウザ戦争と2つのモード

DOCTYPEの重要性を理解するために、ブラウザ戦争の時代からいくつかの歴史を掘り下げましょう。当時、Webページは両方をサポートするために2つの異なるバージョンで記述されていましたInternet ExplorerNetscape Navigator

しかしその後 W3Cは、Web標準の定義を引き継ぎました。しかし、悲しいことに、新しい標準のブラウザは、レガシーブラウザ用に構築されたWebページをレンダリングできませんでした。そのため、従来のブラウザ用に構築されたウェブサイトをサポートするにはQUIRK MODEが導入されました。 1990年代後半の憂鬱な業界規範に従って、古くて無効なマークアップとコードを記述したとブラウザが想定しています。

これらのWebサイトを新しいWebサイトと区別するために、DOCTYPEが追加されました。これにより、このWebページをSTANDARD MODE

HTML5 && HTML 4.01

HTML5より前は、HTMLはSGMLベースであり、マークアップのルールとグラマーを確立するためにDocument Type Definationが必要でした。したがって、doctypeにはDocument Type Defination(DTD)に関する他の情報がありました。

ただし、HTML5の導入により、DOCTYPEのみがSTANDARD MODE

1
Afsaar Ahmad

簡単にするために:<!DOCTYPE HTML>は、コードがHTMLであることを示しています。

0
Konstrictor