まず、HTMLでのDoctypeの役割:<!DOCTYPE>
宣言はファイルタイプ定義(DTD)と呼ばれ、宣言の目的はファイルのタイプをブラウザに伝えることです。ドキュメントを解析するためにどの仕様を使用すべきかをブラウザのパーサーに知らせてください。<!DOCTYPE>
宣言はHTMLドキュメントの最初の行にある必要があります。これはHTMLタグではありません。DTD(Document Type Definition)は、XMLまたはHTMLの特定のバージョンで許可されているものと許可されていないものを定義する、機械で読み取り可能なルールのセットです。Webページを解析するとき、ブラウザはこれらのルールを使用してページの有効性をチェックし、対応する対策を講じます。ブラウザは、ページのDOCTYPE宣言を分析することにより、使用するDTDを理解し、使用するHTMLのバージョンを認識します。
2つ目は、厳密モードと混合モードの違いです。
最初に、厳密モード(標準モード、標準モードとも呼ばれます)と混合モード(Quirkモード)は、ブラウザーのレンダリングモードを参照し、Doctypeの2つのスタイルと区別されます。厳格(strict)および移行(transitional)、移行DOCTYPEの目的は、開発者が古いバージョンから新しいバージョンに移行できるようにすることです)。严格模式
:標準モードとも呼ばれます。これは、ブラウザーがW3C標準に従ってコードを解析してページをレンダリングすることを意味します混杂模式
:奇妙なモードまたは互換モードとも呼ばれます。つまり、ブラウザーは独自の方法でコードを解析します。つまり、より緩やかな下位互換性メソッドを使用してページの表示
ブラウザーがストリクトモードとプロミスキャスモードのどちらを使用してページをレンダリングするかは、WebページのDTD(ファイルタイプ定義)に直接関連しています。
HTML 4.01ドキュメントの場合
、厳密なDTD を含むDOCTYPEにより、ページが標準モードでレンダリングされることがよくあります。
過度のDTDおよびURIを含むDOCTYPEも、ページを標準モードでレンダリングします。
ただし、URIのない過剰なDTDは、ページを無差別モードでレンダリングする原因になります。
DOCTYPEが存在しないか不適切な形式であると、HTMLおよびXHTMLドキュメントが混合モードでレンダリングされる可能性があります。
HTML5ドキュメントの場合、
HTML5にはDTDがないため、厳密モードと無差別モードの間に違いはありません。HTML5の構文は比較的ゆるく、下位互換性のためにできるだけ大きく実装されています。(HTML5は厳密ではなく、混在しています)