HTMLは、文章の論理的構造やレイアウトを記述するための言語である。言語を 使うからには、自分にしか分からない言葉を勝手に使っていたならば、相手に 通じないことも十分ある。
実際、1996〜1998年ころのHTMLをめぐる状況は、その自分勝手な表現がまかり とおっていた時代であった。1994年に策定されていた、HTML1.0 という言語の 仕様(きまりごと)は、非常に単純であり可能な文書表現も限られていたため、 ブラウザを開発する企業は、自分たちの作っているブラウザにしか表現できな いような機能を、HTMLに付け加えていった。このため、Netscape Navigator ではうまく表示されるが、Internet Explorer では意図通りに表示できない、 あるいはその逆、ということが頻繁に起こっていた。
混乱の末、1999年に HTML4.0 が策定され、文書の論理的構造やレイアウ トを十分に記述できる標準仕様が決定した。その特徴としては、HTMLタグには 文書の論理的構造(見出し、箇条書、表など)を担わせ、CSS(カスケード・スタ イル・シート)にブラウザ上での見栄えや表現を担わせる、という役割を分担 した点である。これに従ってHTML文書を作成すれば、ブラウザが異なっても、 見栄えが大きく異なることはないと言え、また今後HTMLが進化していったとし ても、新世代のブラウザによって正しく表示されることが期待できる。この演 習では、HTML4.0標準に従った HTML 書法のポイントを学ぶ。
HTMLファイル名の拡張子(.の右側)は、html あるいは、htm のいずれか、どち らでもよい。混乱を防ぐため、どちらかに統一した方がよい。ここでは、html とする。
タグには、大文字、小文字の区別はない。
いままでのブラウザでは、
<html> ここに内容を書く </html> |
このような単純なタグ構造のHTMLファイルでも一応表示できた。しかし、 HTML4.0を理解するブラウザでは、正しく表示できない可能性もでてくる。な ぜならば、いまやHTML文書は世界中の様々な自然言語(人間の使う言語)によっ て表現され、文字のコンピュータ内での表現であるコードも複数存在するから である。さらに、HTMLの標準は今後変更されていく可能性が十分あり、過去に 使われていたがもう使わないことが決定されたタグについては、ブラウザが無 視して表示しない可能性もある。つまり単純に言えば、どのHTML標準に従い、 どの国の言葉で、どんなコードで表現されているHTML文書なのか、と言う情報 を、HTML文書自体に持たせないと、ブラウザによってHTML文書の正しい解釈が できなくなる恐れがあるということだ。
下のHTMLファイルは、HTML4.0に従ったものであり、下記の様な項目を書くこ とが望まれる。それぞれの役割と、必要な理由を説明する。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta name="author" content="作成者の名前"> <title>ここにタイトルを書く</title> </head> <body> ここに本文を書く </body> </html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 に従った文書であることを示す。この宣言がないと、将来新たな HTML標準が使用され始めたとき、ブラウザは、どのバージョンのHTML標準を用いて、 このHTML文書の表示を行えばよいか分からなくなり、意図された表示が行われ ない可能性がある。
<html lang="ja">
ここから始まるHTML文書は日本語の文書であることを示す。このタグのプ ロパティ(属性)指定である lang="ja"がないと、日本語独特の表記規則(例え ば、句読点は行頭に来ない、など)が、ブラウザによって行われない可能性が ある。
<head></head>
このタグの間に、この文書に関する情報を示すタグを入れる。 ヘッダ部と呼ばれる。ブラウザ画面には表示されない。
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
HTMLによる文字情報が含まれていることを示し、その漢字コードは Shift JIS コードであることを示している。これがない場合、この文書中の日本語文字に おいて、いわゆる文字バケが起きる可能性がある。
<meta name="author" content="作成者の名前">
この文書の作成者の名前を入れておく。複数名で、ひとつのWebサイト内のコ ンテンツを作成するときには、この情報を入れておくと非常に便利である。
<title>ここにタイトルを書く</title>
タイトルは、一般的にブラウザのウィンドウ上部のバーの中に表示される。タイ トルは、そのHTML文書の簡潔な要約になることが望ましい。ユーザがブックマー ク(お気に入り) を作成する際には、このタイトルが、この文書へのリンクの名 称となるため、適切なタイトルをつけておくことが、ブラウズやブックマークを 作成するする人にとっても親切である。
<body></body>
このタグの間に書かれた内容が、ブラウザ画面に表示される。 ボディ部と呼ばれる。
</html>
ここでHTML文書はおしまい。