LoginSignup
0

More than 5 years have passed since last update.

<!DOCTYPE html>って何なの??

Posted at

はじめに

毎回なんとなく書いていたけど、ちゃんと説明できるようにならなきゃと思って、調べてみました。

DOCTYPE宣言について

DOCTYPE宣言(文章型宣言)といい正式な呼び方はには「ドックタイプ宣言」だそうです(今までドクタイプって読んでました…)。
これは簡単に言うと文章の仕様やバージョンをブラウザに伝えるためのもので、HTML5以前のバージョンではDTDと呼ばれるものをHTML(XML)に結びつけるものでした。

例えばHTML4.01だとこんな感じのDOCTYPE宣言になります。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

DTDとは

DTDは Document Type Definition(文章型定義)の略で、どんなタグがどんなタイミングで使えるのか、などの文章の構造が指定されていました。
試しに、HTML4.01のDOCTYPE宣言で書いたURLに飛んでみるとイメージしやすいかもしれません。

HTML5だと…

一方、HTML5では大変シンプルなDOCTYPE宣言です。

<!DOCTYPE html>

これはHTML5では、DTDの文章にあたる情報が仕様書の中に同じ言語で記述されており、DTDと繋げる必要がないためです。
ではなぜDOCTYPE宣言が必要なのでしょうか?
それにはwebサイトの歴史が関係しています。

HTML5でDOCTYPE宣言が必要な理由

HTML言語が標準化してきた1990年代、作成されたページはDOCTYP宣言がなされていないものも多く、それに困った各種ブラウザが、宣言がないものは旧式のページとして認識し、モードを切り替えるようにした。
その仕様が続いているため、DTDがなくなった今でもDOCTYPE宣言を記述して、旧式のページと認識されないようにしているというわけです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0