まずは予備知識としてこのサイトでよく使用する用語と、HTMLのちょっとした文法をおさらいしたいと思います。
わからない用語があったらまずはここをチェックすると良いでしょう。
もしここになかったら検索エンジンで調べてください。
コメントを使用するとその範囲は普通ブラウザに表示されなくなります。
完全に隠すことは出来ませんので、へんな情報は入れないようにしましょう。
コメントが多すぎるとかえってわかりにくくなりますので、せいぜいおぼえ書き程度にとどめてください。
書式は以下の通りです。
<!-- この範囲がコメントとなる。 --> <!-- 一行に収めてもコメント --> <!-- 無駄にスペースを空けても コメント -->
一つ注意として、コメントの中では"--"は使用できません(厳密に言えば使用できるのですが、面倒なので使用できないと思っておいた方が無難です)。
−でエスケープするか、使用しないように注意しましょう。
つまり次の例は不正なコメントです(コメント以前の問題ですが・・・)。
<!-- for (i = 100000; i >= 0; i--) // おっと!! window.open(); //-->
タグと要素は混同しやすいので両者の違いを理解してください。
タグは"<"と">"で囲まれた部分(厳密には"<"と">"もあわせた部分)のことを言います。
その中でも特に"</"と">"に囲まれたものを閉じタグ、それ以外を開始タグといって区別する場合もあります。
要素はタグに囲まれた内容のことを言います。
以下のソースでpエレメントと言った場合はhoge<strong>hoge</strong>のこと(本来は<p>と</p>も含まれ、hoge<strong>hoge</strong>は要素の内容ですが、ここではこれを要素と呼ぶことにします、面倒なので)を指し、pタグと言った場合は<p>や</p>を指します。
<p> hoge<strong>hoge</strong> </p>
コンピュータの内部では文字を表すのにテーブル(表)を使用しています。
この表に一個一個文字を当てはめるわけですが、その当てはめ方のことをエンコード方式と呼びます。
文字化けは作者が作ったファイルのエンコード方式と閲覧者の(ブラウザが)使用しているエンコード方式が異なる場合に発生します。
逆に言うとコンピュータは全てを数値として扱っているので、エンコード方式が違うと作者が作ったときに指定した(作者が直接指定するわけではありませんが・・・)テーブルの位置に違う文字が入っていることになり、文字化けが発生するわけです。
HTML文書にHTMLで特別な意味を持つ文字や、普通では表せない文字を使用するために、実体参照を用います。
以下にその代表例を示します。
表示したい文字 | 実体参照 |
---|---|
HTMLで特別な意味を持つ文字 | |
< | < |
> | > |
& | & |
" | " |
普通では表せない文字 | |
© | © |
® | ® |
™ | ™ |
¢ | ¢ |
£ | £ |
§ | § |
スペース | |
π | π |
Π | Π |
∫ | ∫ |
σ | σ |
Σ | Σ |
α | α |
Α(≠A) | Α |
HTMLの拡張子は既定されていませんので、別に".html"や".htm"である必要はありません。
それどころか拡張子がなくても全く問題はなく、HTML文書だと言い張ることすら出来ます(そしてそういうことをする人ほど正しいHTMLを書いてたりします)。
試しに適当なHTML文書の拡張子を削除してから手持ちのブラウザで開いてみてください(ドラッグ&ドロップが手軽でしょう)。
ただ、だからといってこの事実を濫用しないでください。
たとえそれが正しいHTML文書でもブラウザの独自拡張によってHTML文書とみなされない場合がありますから・・・
index.htmlには何の特別な意味もありません。
どこかのサイトでindex.htmlをC言語で言うmain関数といっていたのを見たことがありますが、半分以上間違いです。
これはサーバ管理者がよくこの名前のファイルを扉ページとして利用するだけのことであって、ファイル名を省略すると常にindex.htmlが開くわけではありません。
まぁほとんどの場合はindex.htmlが開きますし、開かない場合はそのディレクトリにindex.htmlがないだけの場合も多々あります(そういう場合はほとんどのサーバでディレクトリを表示するかアクセスエラーをはきます)。
HTMLでは<br />のようなことは出来ません。
え?出来るって?それはブラウザがXHMLと勘違いしているか、独自拡張です。
そもそも上のような書き方はXMLで要素の内容を持たないタグの省略形(<tag></tag>→<tag />)ですので、はじめからそういったタグを許していないHTMLでは不可能なのです。
強制改行を意味するbrタグなどが内容を持たないタグなのでこういった書き方が許されると思われるかもしれませんが、HTMLではこういった要素(他にも<img>や<hr>など)は閉じタグを記述してはいけない(閉じタグが無い)ことになっています。
勧告に準拠するためにもそういった記述は書きあらためましょう。