btmup Blog

Web 制作のことを中心に、ちょっとした Tips などを掲載しています。「自分用メモ」が基本スタンス。

(X)HTML

HTML で同一階層のパスを指定する方法。

投稿日:

えぇっと、色んなサイトを見ていて「あれ? 意外とみんな知らない?」と思ったことがあるので、サラッと書いておきます。
「んなことくらい知っとるわ!」という方は優しくスルーしてください。

一つ前の階層とルート

まずはおさらい。

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=”」で検索したりしないといけなくなるワケです。
これはしんどい。だけでなく、ヌケやミスの原因にもなります。

注意点としては、「./」から「../」への置換は最後にすること。
「../」を「../../」にしようとしたとき、カブってしまうからです。
(もちろん「../../」がある場合は、そちらを先に「../../../」にしましょう)
(っていうかここまで深い階層を指定することがあんまりないか)

まとめ

サラッと書くつもりが結構長くなってしまいましたが、要するに、「./」って書いた方が実はハッピーになれるんじゃね? ってことが言いたかっただけです。

もし「書かない方が良い理由」とかがあったら教えてください。







-(X)HTML
-, ,

執筆者:


  1.   より:

    わかりやすい

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

yuga.js で自ページへのリンクを設定している画像がロールオーバーしてくれない。

yuga.js という非常に便利な JavaScript があります。 多くの機能が一つにまとまっていて、使い方も簡単で重宝させていただいているのですが、今回はその多機能が故にハマってしまったという例 …

no image

IE6 で文章の最後の2文字(くらい)が変なところに表示されてしまう問題の原因と解決法。

ひょっとしたら定番ネタかも知れないのですが、ググってみても情報が見当たらなかったのでとりあえずメモ。 IE6 で float を使ったレイアウトをしているとき、文章の末尾(最後の2文字くらい)が変なと …

no image

リスト形式でマークアップした画像の下にできるすき間とその解決法。

よくぶつかる問題の割に忘れがちなので、メモ的エントリー。 画像を ul やら ol やらリスト形式でマークアップする機会って、結構多いんじゃないかと思います。 グローバルナビとか、写真のサムネイルとか …

no image

今日は裸の日 – CSS Naked Day。

4 月 9 日は「CSS Naked Day」ということなので、便乗してみます。 »CSS Naked Day…公式(?)サイト »そういえば裸の日でした|CSS HappyL …

no image

新しく追加した Google カスタム検索エンジンの HTML をカスタマイズする方法。

最近、Google カスタム検索エンジンのコードが変更されたみたいです。それも大幅に。 以前までは HTML ソースを直接貼り付ける方法だったんですが、新しいコードは JavaScript を使って …