LeoAndo / html-training

training for HTML
0 stars 0 forks source link

DOCTYPE #32

Open LeoAndo opened 2 years ago

LeoAndo commented 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宣言の記述は必須。

LeoAndo commented 2 years ago

後方互換モード

後方互換モードでは90年代後半に一般的だった慣習に従って作成されたページが「壊れる」のを防ぐため、 ブラウザは現在のWebフォーマット規格に違反した動作をする。

LeoAndo commented 2 years ago

標準モード

標準モードでは、ブラウザはそのブラウザに実装された範囲内で、規格に準拠した文書に対して、 規格に従った正しい取り扱いを行おうとする。