相対パスと絶対パスの使い方

相対パスと絶対パスの使い方

相対パスと絶対パスは、ファイルやリソースを参照するための方法です。相対パスは現在のファイルからの位置関係でリソースを探し、絶対パスはサイトのルートディレクトリまたはURLの先頭から指定します。どちらを使うかはプロジェクトの構造や用途によって異なります。

✅ 一、相対パス(現在のファイルの位置を基準)

✴️ よく使われる書き方

書き方意味
./file.html現在のディレクトリ内の file.html
../file.html1つ上のディレクトリにある file.html
folder/file.html現在のディレクトリ内の folder フォルダにあるファイル
../../img/pic.jpg2つ上のディレクトリにある img フォルダ内の画像

✅ メリット

  • 柔軟性が高く、フォルダ構成を変更しても対応しやすい
  • サーバーのルートに依存しないため、ローカル開発に適している

❌ デメリット

  • ディレクトリ構成が変わると簡単にパスが壊れる
  • 大規模プロジェクトの共通リソース参照には不向き

✅ 二、絶対パス(ウェブサイトのルートまたは完全なURLを基準)

✴️ 2つのケース

1. サイトのルートディレクトリからのパス( / で始まる)

<link rel="stylesheet" href="/css/style.css">
<img src="/images/logo.png">

→ これは、サイトのルート / にある css/style.cssimages/logo.png を指します。

2. 完全な URL の場合

<script src="https://cdn.example.com/lib.js"></script>

→ 外部のサーバー(CDNなど)から読み込まれるリソースです。

✅ メリット

  • ファイルの場所がディレクトリ構造に左右されない
  • CDN や共通リソースなど、固定パスの指定に適している

❌ デメリット

  • サイトのディレクトリ構造が変わった場合、リンク切れになる可能性がある(管理者でない限り修正しにくい)
  • ローカル環境(HTML をダブルクリックして開いた場合)では / から始まるパスがうまく動作しないことがある

📝 注意点・補足

相対パスの落とし穴

  • ../ の階層を間違えると読み込めない
  • フォルダ構造を変更すると全て修正が必要になる場合もある

絶対パスの誤解

  • / から始まるのは「パソコンのルート」ではなく「ウェブサイトのルート」
  • ローカル環境で .html をダブルクリックして開くと絶対パスが効かないことがある

使い分けのコツ

  • 自分のファイルと同じ階層や下のフォルダなら相対パス
  • サイト全体で共通して使うリソースは絶対パス

❓ Web制作現場でよくある質問(FAQ)

Q1:相対パスはいつ使う?

A: 同じディレクトリ内や近くのファイルを参照するときに使います。コンポーネント内部などで便利です。

Q2:絶対パスはいつ使う?

A: サイト全体で使うCSSや画像、外部のCDNなど、常に同じ場所にあるものを参照したいときに使います。

Q3:/img/logo.pngの意味は?

A: サイトのルートディレクトリにある img フォルダの中の logo.png を指定しています。

Q4:絶対パスがローカルで動かないのはなぜ?

A: ブラウザで直接HTMLを開いていると、/ の意味が曖昧になり、正しく読み込めない場合があります。サーバー上では問題ありません。

Q5:混ぜて使っても大丈夫?

A: もちろん可能です。多くのプロジェクトでは、目的に応じて両方を使い分けています。


📝 まとめ(相対パス vs 絶対パス)

Web開発において、ファイルやリソースを正しく読み込むためには、「相対パス」と「絶対パス」の違いを理解しておくことが重要です。

✅ 相対パスの特徴

  • 現在のファイルの位置を基準にリソースを指定する方法
  • ローカル環境や柔軟なディレクトリ構成に適している
  • 例:./style.css../img/logo.png
  • フォルダ構造を変更するとパスが壊れることがある

✅ 絶対パスの特徴

  • サイトのルートディレクトリ(/)または完全な URL からの指定
  • サイト全体で共通のリソースや CDN に適している
  • 例:/css/main.csshttps://example.com/js/app.js
  • ローカルでの動作に注意が必要(/ で始まるパスは失敗することがある)

🔁 使い分けのポイント

  • 開発中・モジュール間の連携:相対パスが便利
  • 本番環境・共通ファイルや外部サービス:絶対パスが安定
  • 両方を場面によって使い分けるのが理想的

関連記事
!important なしでも大丈夫!CSS @layer でスタイル管理をもっと簡単に
CSS の !important は便利ですが、乱用すると保守が難しくなります。そこで注目されているのが新機能 @layer。この記事では、@layer を使って優先度を整理する方法を実装例とともに紹介します。
Details
Details
6ヶ月前
!important なしでも大丈夫!CSS @layer でスタイル管理をもっと簡単に
ABテストとは?赤か青か?データが導く最適な選択
ABテストは、今やデジタルマーケティングの「常識」となった科学的な意思決定手法です。日本のECサイトやアプリ開発の現場でも、「どちらのデザインが効果的か」「どんなキャッチコピーが響くか」を決める際に頻繁に活用されています。 この手法のルーツ […]
解構人
解構人
7ヶ月前
ABテストとは?赤か青か?データが導く最適な選択
フッターのJavaScriptは画像読み込みに影響する?ブラウザの読み込み順と最適化の基本
はじめに Webサイトの表示速度や操作感は、単にコンテンツの量や見た目だけでなく、ブラウザがリソースをどのように読み込むかによっても大きく左右されます。特にJavaScriptや画像の読み込み順序、そしてそれらがどのように相互作用しているか […]
解構人
解構人
8ヶ月前
フッターのJavaScriptは画像読み込みに影響する?ブラウザの読み込み順と最適化の基本
PHPの hash_equals 関数とは?なぜ == や === を使わないのか?
hash_equals は PHP において、2つの文字列が等しいかを安全に比較するための関数です。特にパスワードのハッシュや署名の検証などで使われます。== や === といった通常の比較演算子とは異なり、タイミング攻撃(Timing A […]
解構人
解構人
6ヶ月前
PHPの hash_equals 関数とは?なぜ == や === を使わないのか?
【初心者向け】日本の国技 相撲【第3回】楽しみ方編|視聴や推し力士の作り方
今回は「楽しみ方編」。現在の相撲ブームがなぜ起こっているのか?相撲の色々な楽しみ方をご紹介。
WASABI
WASABI
7ヶ月前
【初心者向け】日本の国技 相撲【第3回】楽しみ方編|視聴や推し力士の作り方
同一ドメイン配下の複数アプリケーションにおけるCSRF対策ガイド
目次 1. 技術的背景と適用シナリオ 代表的な適用例 技術的利点 潜在的なリスク 2. CSRF保護メカニズムの基本原則 保護の三要素 3. 複数アプリケーション環境におけるセキュリティ課題 3.1 セッション命名衝突の深層的影響 具体的な […]
解構人
解構人
8ヶ月前
同一ドメイン配下の複数アプリケーションにおけるCSRF対策ガイド
はじめての二進数|10進数との変換方法をわかりやすく解説【初心者向け】
パソコンやスマホの中で使われている数字の仕組み、それが「二進数(バイナリ)」です。このページでは、10進数 ⇔ 2進数 の変換方法を、初心者の方でも理解できるようにやさしく解説します。 目次 二進数って何? 1|10進数から2進数に変換する […]
aki0o0
aki0o0
8ヶ月前
はじめての二進数|10進数との変換方法をわかりやすく解説【初心者向け】
inputのプレースホルダー(placeholder)の色を変更する
プレースホルダーの色は::placeholder疑似要素で変更可能 IEやEdgeなどの古いブラウザ向けに:-ms-input-placeholder、::-ms-input-placeholderを併用 Firefoxでは透明度の調整のためopacity指定が推奨される
Details
Details
8ヶ月前
inputのプレースホルダー(placeholder)の色を変更する
全角と半角の違いとは?変換方法をわかりやすく解説【ツール付き】
はじめに 日本語のテキストを扱う場面で、「全角」と「半角」の使い分けに悩んだことはありませんか?入力ミスやシステムの不具合、さらには検索精度の低下につながることもあり、特にWeb制作や文字校正では注意が必要です。本記事では、全角・半角の基本 […]
aki0o0
aki0o0
8ヶ月前
全角と半角の違いとは?変換方法をわかりやすく解説【ツール付き】
JavaScriptでURL(パス)からファイル名を取得する
window.location.pathname でURLのパス部分を取得。 lastIndexOf('/') で最後のスラッシュ位置を検出。 substring でスラッシュの次から最後までを切り出し、ファイル名を抽出。
Details
Details
8ヶ月前
JavaScriptでURL(パス)からファイル名を取得する
日本語用WebサイトのCSSフォント設定(日本語フォント/游ゴシック/游明朝)
日本語フォントはOSにより異なるため、複数のフォントを優先順に指定する。 "Yu Gothic"や"Yu Mincho"はモダンな日本語フォントでWindows 8.1以降に搭載。 "ヒラギノ角ゴ"や"ヒラギノ明朝"はmacOS向けで、高品質。 "メイリオ"や"MS 明朝"などは古いWindows環境にも対応。 ゴシック体はカジュアル・読みやすさ重視、明朝体はフォーマル・高級感重視に適している。
Details
Details
8ヶ月前
日本語用WebサイトのCSSフォント設定(日本語フォント/游ゴシック/游明朝)
【SEO基礎】rel=”nofollow”とは?リンクの評価をコントロールするHTML属性を解説
SEO対策に欠かせない「rel="nofollow"」の意味と使い方を解説。広告やユーザー投稿に適切なrel属性を設定し、検索エンジンとの正しい関係を築きましょう。
qqplus
qqplus
8ヶ月前
【SEO基礎】rel=”nofollow”とは?リンクの評価をコントロールするHTML属性を解説
和暦から西暦変換ツール
このツールは、日本の元号(和暦)と西暦を相互に変換できるシンプルな変換ツールです。「昭和64年は何年?」「2025年は令和何年?」といった場面で、すぐに答えがわかります。 履歴書の作成、行政手続き、年齢計算、歴史的資料の読み解きなどにご活用 […]
aki0o0
aki0o0
8ヶ月前
和暦から西暦変換ツール
【CSS & JavaScript & SVG対応】円グラフ(扇形図)のアニメーション表現まとめ
はじめに 円グラフ(パイチャート)は、比率や構成比を視覚的に伝えるのに最適なUIコンポーネントです。最近、業務で使う機会があり、さまざまな方法でエフェクトをつけて表示する実装を試しました。 この記事では、以下の3パターンで実装する方法を紹介 […]
キウイフルーツ
キウイフルーツ
7ヶ月前
【CSS & JavaScript & SVG対応】円グラフ(扇形図)のアニメーション表現まとめ
PHPのcheckdnsrr関数徹底解説:メールアドレス検証での活用方法
目次 フォーム開発で遭遇した課題 checkdnsrr関数とは? 主な用途 メールアドレスのドメイン検証 ドメイン存在確認 SPFレコードチェック ネットワーク診断ツール メリット デメリットと制限事項 実際の活用例 基本的なメールドメイン […]
解構人
解構人
7ヶ月前
PHPのcheckdnsrr関数徹底解説:メールアドレス検証での活用方法