HTML(Hyper Text Markup Language)はもともとSGML(Standard Generalized Markup Language)のサブセットとして誕生しました。
そして度重なる改良・改悪が加えられ、HTML3.2の時代にはブラウザの独自拡張タグでとても汚い言語となったのです。
この状況を重く見たW3C(HTMLなどの勧告を行っている組織)はHTML4.0でこれらを一掃し、HTMLには文書構造のみを記述するという基本方針をうち立て、ページの修飾にはスタイルシートを使用するように呼びかけたのです。
そして4.0に多少の修正を加えたHTML4.01が現在多く使用されています。
HTMLには仕様はW3Cが勧告という形で出しています。
つまり本来どのような文書でもHTMLと言い張ればHTMLなのですが(拡張子すら既定されていません)、それではブラウザは作れないのでみんなある程度は従っています。
勧告には強制力はありませんので、ブラウザはHTMLの仕様から外れている文書でも無理やり表示させてしまいます。
だからなのかもしれませんが、Web上にはW3Cの勧告にのっとっていないサイトが山のようにあります。
今回の実験用に配布された資料も勿論この勧告には従っていません。
しかし現在主流のブラウザは勧告との差の多くを「独自解釈」という形で解決してしまい、ブラウザによってレイアウトが崩れるなどの被害が出ます。
解釈に失敗した場合は表示されないなど、目に見える形として現れます。
これはIE、Gekkoなど主流のHTML解析プログラムの話であって、もっとマイナーなプログラムでは勧告にのっとってないページが最初から表示できないなんていうことが起こります。
Webサイトは不特定多数の人間から見られる可能性がありますので、出来る限りの環境の人に見てもらおうと思うのならこういったことにも注意しながらサイトを構築しましょう。
自分の作ったページがどれくらい勧告に準拠しているかが知りたければAnother HTML -lintというサイトがありますので、ここでチェックしてみましょう。
ちなみにこのサイトはそのサイトからたどれるサイトから一部のスタイルシートを譲り受けました。
HTML文書は大まかに次のように構成されるべきです。
DOCTYPE宣言 <html lang="ja"> <head> ヘッダ情報 </head> <body> 本文 </body> </html>