えぇっと、色んなサイトを見ていて「あれ? 意外とみんな知らない?」と思ったことがあるので、サラッと書いておきます。
「んなことくらい知っとるわ!」という方は優しくスルーしてください。
一つ前の階層とルート
まずはおさらい。
HTML で一つ前の階層を指定するときは「../(ドット ドット スラッシュ)」と書きます。
例えば、
<a href="../index.html">一つ前の階層のトップページへ</a>
みたいな。
また、ルートのパスを指定するときは「/(スラッシュ)」のみを書きます。
例えば、
<a href="/index.html">トップページへ</a>
でトップページに戻れる訳です。
この2つは、どのサイトでもよく使われています。
特に前者は使わないワケにはいかないですからね。
(たまに全部を絶対パスで指定してるサイトもありますが)
同一階層
で、意外に使われていないのが「./(ドット スラッシュ)」。
これは、同一階層を指定する書き方です。
例えば、
<a href="./index.html">同一階層のトップページへ</a>
と書けば、同一階層のトップページへリンクできます。
しかし、このように書いているソースを見かけることは稀です。
その理由を考えてみると、恐らく最も大きいのは「書く必要がないから」。
つまり、
<a href="index.html">同一階層のトップページへ</a>
で問題なく動作します。
一つ前の階層を指定する場合(「../」)とは違い、「書かなくても良いんだから書かなくて良いじゃん」となってるんではないかと。
実際、僕も以前まではそうでした。
ただ、今となっては「書いたらいけない場合を除けば、書いた方が良い」という考えになっています。
「./(ドット スラッシュ)」を使おう! の理由
僕の考えが変わった理由は、大きく二つ。
一つは、見た目に分かりやすいこと。
ソースをザーッと眺めていて、どこが同一階層でどこが別の階層か、ということを判別しやすくなります。
まぁこれは慣れとか気分的なものでしょうから、個人的なものかも知れません。
もう一つは、検索/置換がやりやすくなったこと。
これが個人的には非常にデカい!
DreamWeaver などのソフトを使っていれば気にすることではないのかも知れませんが、基本的にエディタで手打ちの僕にとって、検索/置換のしやすさは全体の作業効率に関わります。
例えば、「一つ下の階層にファイルをコピーして使う」場合、<a>タグのリンクから画像のリンクから js ファイルや css ファイルなんかのパスについても、(相対パスを使用していれば)一つずつ階層を追加してやる必要があります(「../」は「../../」に、等)。
こんなとき、同一階層の指定に「./」を使っていれば、一括で検索/置換できるので非常に楽なのですね。
もし「./」を使っていなかったら、「src="」で検索したり「href="」で検索したりしないといけなくなるワケです。
これはしんどい。だけでなく、ヌケやミスの原因にもなります。
注意点としては、「./」から「../」への置換は最後にすること。
「../」を「../../」にしようとしたとき、カブってしまうからです。
(もちろん「../../」がある場合は、そちらを先に「../../../」にしましょう)
(っていうかここまで深い階層を指定することがあんまりないか)
まとめ
サラッと書くつもりが結構長くなってしまいましたが、要するに、「./」って書いた方が実はハッピーになれるんじゃね? ってことが言いたかっただけです。
もし「書かない方が良い理由」とかがあったら教えてください。