かつて、様々な独自仕様の HTML が氾濫し、これらは環境に強く依存するものでした。Web の標準化を進める団体、W3C により策定された HTML の仕様を使うことで、より多くの環境で的確に情報を表現できるウェブページを作成することができます。本稿では、現在でもなお最も広く使われている規格である HTML4.01 を解説します。
HTML の標準(仕様)を定義していることを Document Type Definition(文書型定義)と呼びます。正しい規格に則って HTML文書を記述するためには DTD(文書型定義)を記述する必要があります。DTD(文書型定義)を宣言することを DOCTYPE宣言(文章型宣言)と呼び、その文書が HTML のどのバージョン(規格)で記述されているかを宣言します。
HTML には歴史があり、これまでにも様々なバージョンの HTML があります。Document Type(文書型)を示すことで、どのマークアップ言語をどのバージョンで使用するかを決めます。これにより、その文書がどのバージョンに属しているかを明示し他のバージョンとの区別をつけて混乱を避けるための情報となります。バージョン毎に、それぞれの文書型が用意されており、このバージョンでは、どのような要素や属性、属性値を指定することができるということが定義されています。そして、制作者は宣言した文書型に応じて、定義されている仕様(ルール)に沿った文書を作成しなければいけません。言ってみれば DOCTYPE宣言(文書型宣言)とは、「この HTML文書は定められた規格に則って書かれたものです」と宣言するものです。
なお、DTD(文書型定義)は絶対に記述しなくてはいけないものではありません。適正な HTML であることを宣言するために必要な指定であり、DTD が宣言されていなくてもウェブブラウザなどの UA はウェブページとして普通に表示します。本稿では、仕様云々のことはよくわからないという場合は、以下に紹介する HTML4.01移行型DTD を記述することを奨めます。HTML4.01移行型DTD は、W3C の策定した HTML4.01 の仕様において廃止、または廃止予定の古い非推奨要素・属性を使用する HTML文書の場合に適しています。つまり、ある程度ルーズな記述が可能になります。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
なお、DTD(文書型定義)にアドレス(URI)の記述が含まれていますが、次のように省略して記述することができます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
HTML文書の情報を読みとって、それをディスプレイ上に表示するブラウザは、このDOCTYPE宣言(文書型宣言)に従って表示(レンダリング)方法が異なります。たとえば、HTML4.01厳密型DTD を記述すると、HTML4.01 の仕様において「非推奨(廃止、または廃止予定)」とされる古い要素や属性を指定していた部分をすべてはじきだして表示(レンダリング)することが期待されます。また、それら「推奨しない」とされる要素や属性の多くは、CSS(カスケーディングスタイルシート)を使って指定することが推奨されています。また、HTML4.01フレーム設定型DTD は、ひとつのページを分割して表示できるフレーム(frameset要素)を使用する場合にのみ記述します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>HTML文書の基本構造</title> </head> <body> 本文の内容 </body> </html>
HTML の要素はすべて開始タグ("<要素型名>")と終了タグ("</要素型名>")で構成されています。
上記のサンプルにある html要素, head要素, body要素もすべて "<html>" と "</html>", "<head>" と "</head>", "<body>" と "<body>" の構成になっており、それぞれ次のような意味をもちます。
html要素は、この文書が HTML文書であることを定義します。HTML文書の一番頭(文書型宣言がある場合は文書型定義の直下)に "<html>"、最後尾に "</html>" を置いて、HTMLソース全体を囲みます。人間で言う、頭の先からつま先までに該当します。head要素は、ヘッダと呼ばれる文書に関する情報を定義します。"<head>" と "</head>" の間には、文書のタイトルや制作者情報、検索エンジンのロボット用のキーワードなどを記入します。人間で言う、頭に該当します。body要素は、文書の本体を定義します。"<body>" と "<body>" の間には、文書の本文となる内容を記述します。ここに書き込まれた内容がブラウザなどで閲覧した際に表示される部分になります。人間で言う、体に該当します。文書の本体を表す要素には、body要素の他に frameset要素があります。frameset要素は、フレームを使用する場合にのみ定義します。フレームはページを四角の枠に分割して、ひとつのページ内に複数のページの表示を可能にします。
html要素head要素body要素frameset要素http://w3g.jp/xhtml/ref/global直近の制作実績等:大阪人間科学大学 New! / 大阪薫英女子短期大学 New! / セキスイハイム みんなのお国じまん New!