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

上付き(下付き)の設定は(X)HTMLタグかCSSか。

「m3」や「CO2」など、上付き・下付き文字を設定する場合にいつも悩みます。 上付き(下付き)にすることに意味があるような気がするので、(X)HTMLで問題ないとは思いつつ。 でもやっぱり見た目をコン …

no image

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

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

no image

HTML 文字参照を探すのに Wikipedia はやっぱり便利だった。

Wikipedia には度々お世話になってます。 信頼性とかが問題になることもありますが、大体は大丈夫ですし、やはりあの圧倒的な情報量は魅力ですね。 で、(やっぱり)こんなものまであったのか! という …

no image

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

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

no image

背景画像を設定した要素のテキストに IE でもドロップシャドウを表示する方法。

CSS3 には「text-shadow」というプロパティがあり、これを指定するだけでテキスト要素に影を付けることができます(色や距離やぼかし具合もコントロール可)。 ただし、IE 以外ですが。例に漏れ …