
HTMLで画像が表示されない問題は、多くのWeb開発者が直面するトラブルのひとつです。特にパスが正しいはずなのに画像が表示されない場合、さまざまな原因が考えられます。本記事では、その原因と解決策を詳しく解説します。
画像が表示されない原因を確認する
画像が表示されない原因は大きく分けて以下の4つに分類されます。
- ファイルパスの誤り
- ファイルの配置ミス
- ブラウザのキャッシュやセキュリティ設定の影響
- HTMLやCSSのコードミス
それぞれの原因を詳しく見ていきましょう。
ファイルパスの確認
パスが正しいかを確認することは基本中の基本です。以下のポイントをチェックしてください。
絶対パスと相対パスの違い
- 絶対パス: /images/sample.jpg
- 相対パス: images/sample.jpg または ./images/sample.jpg
異なるディレクトリ階層にある場合、相対パスの指定が間違っていることが原因になることがあります。
パスの指定方法の確認
- 画像のパスが間違っていないか?
- ../ を適切に使用しているか?
- 大文字・小文字の違いがあるか?
特に、サーバー環境によっては大文字と小文字が区別されるため注意が必要です。
サーバーのパス設定の影響
- Windows環境とLinux環境ではファイルパスの扱いが異なる
- サーバーのルートディレクトリ設定を確認する
- document.root の設定が影響していないか確認する
ファイルの配置ミス
ファイルが正しく配置されているかを確認しましょう。
ファイルが実際に存在するか確認する
- FTPツールやターミナルで画像ファイルが配置されているか確認
- 画像のURLをブラウザで直接開いてみる
ディレクトリの指定が適切か
- img フォルダ内に画像が存在するか?
- src=”img/sample.jpg” のように適切なディレクトリを指定しているか?
ブラウザの影響
ブラウザの設定やキャッシュの影響で画像が表示されないこともあります。
ブラウザキャッシュの影響
- Ctrl + Shift + R でスーパーリロードを試す
- F12 で開発者ツールを開き、ネットワークタブで画像のロード状態を確認
セキュリティ設定の影響
- Mixed Contentエラー(httpとhttpsが混在しているとブロックされる)
- CORSの問題(異なるドメインからの読み込みが制限される)
ブラウザのコンソールエラーを確認
開発者ツール (F12) を開き、コンソールタブを確認しましょう。
- 404 Not Found → 画像が存在しない
- 403 Forbidden → アクセス権限の問題
- 500 Internal Server Error → サーバーの問題
HTMLやCSSのコードミス
HTMLやCSSの記述ミスも画像が表示されない原因となります。
HTMLの記述ミス
html
<img src="images/sample.jpg" alt="サンプル画像">
- src 属性のクォート ( ” ) が正しく閉じられているか?
- alt 属性が適切に設定されているか?
CSSの影響
css
img {
display: none;
}
上記のようなCSSの設定がされていると、画像が表示されません。開発者ツールで要素のdisplayやvisibilityを確認しましょう。
外部スタイルシートの影響を確認する
- position: absolute; で画像が画面外に配置されていないか
- opacity: 0; や visibility: hidden; で非表示になっていないか
サーバー設定の影響
サーバーの設定ミスが原因で画像が表示されないこともあります。
.htaccessの影響
- .htaccess で画像ファイルへのアクセス制限が設定されていないか確認
- RewriteRule によってリダイレクトされていないか
MIMEタイプの設定
- サーバーが画像ファイルのMIMEタイプを適切に設定しているか確認
- image/jpeg , image/png , image/gif などが正しく設定されているか
まとめ



HTMLで画像が表示されない原因はさまざまですが、以下のポイントをチェックすることで問題を解決できることが多いです。
- ファイルパスを確認する(絶対パス・相対パス)
- 画像ファイルの存在を確認する
- ブラウザのキャッシュやセキュリティ設定をチェックする
- HTMLやCSSの記述ミスを修正する
- サーバー設定を確認する(.htaccess や MIMEタイプの設定)
これらの手順を順番に試すことで、画像が正しく表示されるようになるはずです。