HTML・CSSのリンク設定。絶対パス、相対パス、ルートパスとは?

更新日:

 
今回はHTMLやCSSを書く上で必須となってくるパスの設定について解説していきます。
この記事におけるパスとは、HTMLやCSSでのリンクの設定方法になります。

 

どういったときに必要になるの?

 

HTMLの場合

画像やCSS、JavaScriptファイルなど外部ファイルを読み込む場合や、他サイトへのリンクを貼る際に使用します。

 

CSSの場合

主に背景画像やアイコン画像などを指定するときに使用します。
 

 

それぞれのパスの説明

 
では、どのような記述があるのかを詳しく解説していきます。
 

 

絶対パス

ファイルの場所を詳細に指定したもの。
httpやhttpsから記述します。

絶対パスの例

https://chiba-sakimi-blog.com/a/1.html
https://chiba-sakimi-blog.com/a/abc.jpg

 

メリット

  • ファイルの位置関係を気にしなくて良い
デメリット

  • サイトの引っ越しをしたときに表示されなくなる
  • 文字数が多くなる

 

 

相対パス

 
現在の位置から対象のファイルの位置を表現したもの。

 
例として1.htmlを編集します。

・編集するHTMLのURL
https://chiba-sakimi-blog.com/a/1.html

これは「chiba-sakimi-blog.com」というフォルダに「a」というフォルダがあり、
その中に「1.html」というファイルがあるイメージです。(厳密には少し違います)
今回はよく使う相対パスの2パターンを説明します。

 

同じフォルダ内のファイルにリンク

 
同じフォルダ内の画像へのリンクの貼り方です。
 

・編集するHTMLのURL
https://chiba-sakimi-blog.com/a/1.html
・対象のファイル
https://chiba-sakimi-blog.com/a/abc.jpg

現在の場所を表現するときは「./」を使います。
(「https://chiba-sakimi-blog.com/a」が省略されているイメージです)

記述例

<img src="./abc.jpg" alt="" >

 

別フォルダ内のファイルにリンク

 
別のフォルダ内の画像へのリンクの貼り方です。
 

・編集するHTMLのURL
https://chiba-sakimi-blog.com/a/1.html
・対象のファイル
https://chiba-sakimi-blog.com/b/xyz.jpg

一度上のフォルダである「chiba-sakimi-blog.com」に戻ってから「b」にアクセスします。
一つ上フォルダに戻るときは「../」を使用します。

記述例

<img src="../b/xyz.jpg" alt="" >

 

 

相対パスのメリット・デメリット

メリット

  • サイトを引っ越ししてもそのまま使える
  • 記述が短い

 

デメリット

  • ファイルの場所によって記述を変えなければいけない
  • 共通ファイルなどでは使いづらい(ヘッダー画像など)

 

 

ルートパス

親ディレクトリ(一番上のフォルダ)から場所を指定したもの。

・編集するHTMLのURL
https://chiba-sakimi-blog.com/a/1.html
・対象のファイル
https://chiba-sakimi-blog.com/b/xyz.jpg

「https://chiba-sakimi-blog.com」が一番上ということが大前提で、
一番上のファイルを「/」と表現します。
 
記述例

<img src="/b/xyz.jpg" alt="" >

 

メリット

  • ファイルの位置関係を気にしなくて良い
  • コピペして使い回しやすい(サイトの共通パーツなどで使用)
デメリット

  • 文字が長くなる

 

 

おすすめの使い方

では具体的にどういった場合に使い分ければよいかを簡単に説明します。
 

 

絶対パスの使い所

  • 外部リンク(自分のホームページ以外へのリンク)

 

相対パスの使い所

  • 画像やPDFなどへのリンク
  • 個別CSS,JavaScriptへのリンク
  • 自分の他ページへのリンク

 

ルートパスの使い所

  • メニューなどサイト共通のリンク
  • ヘッダー画像などの共通の画像リンク
  • 共通で使用しているCSS,JavaScriptへのリンク

 

 

まとめ

今回はパスの設定方法について解説しました。それぞれの使い所を意識して使用しましょう。

参考サイト
FASTCODING BLOG様