最良の答えはMDNから来ています:
昔の Web では、ページは通常 2 つのバージョンで記述されていました。1 つは Netscape Navigator 用で、もう 1 つは Microsoft Internet Explorer 用です。Web 標準が W3C で作成されたとき、ブラウザはそれらをそのまま使用することはできませんでした。これを行うと、Web 上のほとんどの既存のサイトが機能しなくなるからです。したがって、ブラウザーは、新しい標準に準拠したサイトを古いレガシー サイトとは異なる方法で処理する 2 つのモードを導入しました。
現在、Web ブラウザーのレイアウト エンジンで使用される 3 つのモードがあります:
quirks モード、ほぼ標準モード、および完全標準モードです。quirks モードでは、レイアウトは Navigator 4 および Internet Explorer 5 for Windows の標準外の動作をエミュレートします。これは、Web 上の既存のコンテンツを壊さないようにするために必要です。完全な標準モードでは、動作は (できれば) HTML および CSS 仕様で記述された動作です。ほぼ標準モードでは、実装されている癖はごくわずかです。
ブラウザはどのモードを使用するかをどのように決定しますか?
HTML ドキュメントの場合、ブラウザーはドキュメントの先頭にある DOCTYPE を使用して、それを quirks モードで処理するか標準モードで処理するかを決定します。ページが完全な標準モードを使用するようにするには、ページに次の例のような DOCTYPE があることを確認してください。
<!DOCTYPE html>
<html>
<head>
<meta charset=UTF-8>
<title>Hello World!</title>
</head>
<body>
</body>
</html>
例に示されている DOCTYPE は、可能な限り単純であり、HTML5 で推奨されているものです。HTML 標準の以前のバージョンでは他のバリアントが推奨されていましたが、今日のすべての既存のブラウザーは、時代遅れの Internet Explorer 6 であっても、この DOCTYPE に対して完全な標準モードを使用します。より複雑な DOCTYPE を使用する正当な理由はありません。別の DOCTYPE を使用する場合は、1 つを選択するリスクがあり、ほぼ標準モードまたは quirks モードがトリガーされます。
DOCTYPE を HTML ドキュメントの先頭に配置してください。コメントや XML 宣言など、DOCTYPE の前にあるものはすべて、Internet Explorer 9 以前で互換モードをトリガーします。
HTML5 では、DOCTYPE の唯一の目的は、完全な標準モードを有効にすることです。古いバージョンの HTML 標準では DOCTYPE に追加の意味がありましたが、DOCTYPE を quirks モードと標準モードの切り替え以外に使用したブラウザはありません。
2 番目の質問に答えるには
<!DOCTYPE html>
、すべてのブラウザー (IE6 を含む) で標準モードをトリガーする HTML5 doctype: を使用することをお勧めします。