Webページの最初の行(通常)のDoctype設定が原因で、Webページのレンダリングにかなりの違いがあるようです。
ですから、言及されていない場合、デフォルトのDTDは何になるのでしょうか。
たとえば、単純にこのようにすると、次のようになります。
<!DOCTYPE html>
Webページの最初の行(通常)のDoctype設定が原因で、Webページのレンダリングにかなりの違いがあるようです。
ブラウザは、Doctypesをマジックストリングとして使用して、QuirksモードとStandardsモード(およびAlmost Standardsモード)を切り替えます。DTDを気にするためには、実際のSGML/XMLパーサーが必要です。
ですから、言及されていない場合、デフォルトのDTDは何になるのでしょうか。
パブリック識別子はあるがシステム識別子がない場合、パーサーはローカルカタログでDTDを検索することが期待されます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
^^^^^^^^^^^^^^^^^^^^^^^^^^^ — Formal Public Identifier
ただし、HTML 5 Doctypeは、魔法のモード切り替え文字列にすぎないように設計されています。HTML5は明示的にSGMLベースではありません。したがって、それに関連付けられたDTDはまったくありません。