Open LeoAndo opened 2 years ago
https://github.com/LeoAndo/html-training/blob/main/HTML5_CSS3_STEPUP/chapter2/sample_a.html#L1
<!DOCTYPE html>
DOCTYPEは、HTMLファイルの最初の行に存在する必要がある。 その前に何か記述(空白行も含む)されている場合、一部のブラウザはDOCTYPEが存在しないものとしてそのページを取り扱う。
DOCTYPEがない場合、ブラウザはページを後方互換モードで表示する。
通常、HTMLは余分な空白文字があっても問題ないため見過ごされがちだが、DOCTYPEに関しては例外となる。
HTML 4.01やXHTML 1.0でDOCTYPE宣言の記述が必須なのはDTD(Document Type Definition)を明示するため。 これに対してHTML5ではDTDを明示する必要がない。しかしブラウザが後方互換(下位互換)モードでの表示になるのを防ぐため、DOCTYPE宣言の記述は必須。
後方互換モードでは90年代後半に一般的だった慣習に従って作成されたページが「壊れる」のを防ぐため、 ブラウザは現在のWebフォーマット規格に違反した動作をする。
標準モードでは、ブラウザはそのブラウザに実装された範囲内で、規格に準拠した文書に対して、 規格に従った正しい取り扱いを行おうとする。
https://github.com/LeoAndo/html-training/blob/main/HTML5_CSS3_STEPUP/chapter2/sample_a.html#L1
DOCTYPEは、HTMLファイルの最初の行に存在する必要がある。 その前に何か記述(空白行も含む)されている場合、一部のブラウザはDOCTYPEが存在しないものとしてそのページを取り扱う。
DOCTYPEがない場合、ブラウザはページを後方互換モードで表示する。
通常、HTMLは余分な空白文字があっても問題ないため見過ごされがちだが、DOCTYPEに関しては例外となる。
HTML 4.01やXHTML 1.0でDOCTYPE宣言の記述が必須なのはDTD(Document Type Definition)を明示するため。 これに対してHTML5ではDTDを明示する必要がない。しかしブラウザが後方互換(下位互換)モードでの表示になるのを防ぐため、DOCTYPE宣言の記述は必須。