「」と「」の違い

想定と異なる出力結果になるので調べていたら「<!DOCTYPE html>」と「<html>」で違いがあるそうだ

作成日:2024-02-26, 更新日:2024-03-01

<!DOCTYPE html><html>

・HTML5文書を示す
・CSSに対しては、ブラウザが最新の標準に従ってスタイルを適用
・異なるブラウザ間での一貫性が向上し、意図通りになる可能性が高い

<!DOCTYPE html>

・HTML文書としては不完全

<html>

・DOCTYPE宣言がないため、ブラウザはクイークスモード(非標準モード)でページを解釈することがある
・CSSの解釈や適用において不整合や予期しない動作が発生する可能性がある

<!DOCTYPE><html>

・ダメな使いかたらしい…
・DOCTYPE宣言が正しくないため、ブラウザはクイークスモード(非標準モード)でページを解釈することがある
・CSSの解釈や適用において不整合や予期しない動作が発生する可能性がある

まとめ

「<!DOCTYPE html><html lang="ja">」がベストっぽい

<html> DOCTYPE宣言がない。クイークスモードでページを解釈する可能性アリ
<html lang="ja"> 言語設定があるが、DOCTYPE宣言がない。クイークスモードでページを解釈する可能性アリ
<!DOCTYPE html><html> HTML5文書の正しい開始形式
<!DOCTYPE html><html lang="ja"> HTML5文書の正しい開始形式で言語設定もある
<!DOCTYPE><html> DOCTYPE宣言が不完全。クイークスモードでページを解釈する可能性アリ
<!DOCTYPE html> DOCTYPE宣言のみ。HTML文書の構造としては不完全
<!DOCTYPE html lang="ja"> この形式は誤り