質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1047閲覧

フォルダーのパスが見つからない

trey_0329

総合スコア109

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/08/06 19:13

HTML上で画像を表示したく、HTML上でフォルダーパスを指定したのですが、うまく表示されません。
かれこれ1時間ほど試しましたが表示されないのでこちらにて質問致しました。

フォルダ構造
master_portfolio(Desktop直下に在る)
|---blog---template--blogindex.html (ここにgoldwave.pngを表示させたい)
|---media---image---goldwave.png

blogindex.html 上で記載したコード

<div style="background-image: url('/media/image/goldwave.png');"> <p>aaa</p> </div>

しかし何も表示されません。。
お分かりの方アドバイス頂ければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

HTMLファイルがあるtemplateディレクトリ(フォルダー)から見ると、master_portfolioフォルダーは2つ上(相対パスで../..)にありますから、そこからまたmediaフォルダー→imageフォルダーと辿る必要があります。つまり、相対パスの指定は、../../media/image/goldwave.pngになります。

追加分:
確認用のdiv要素にp要素がひとつしかないので、div要素の背景が見えていません。

HTML

1<div style="padding: 4em 0; background-image: url('../../media/image/goldwave.jpg');">

のようにして、divにパディングを設定すると、p要素の上下にできたdiv要素のパディング部分に背景画像が表示されるはずです。
さらに、

HTML

1<p style="background-color: transparent;">aaa</p>

とでもしてやれば、p要素の背景にも背景画像が出ます。
実際には、CSSの側でdiv * { background-color: transparent; }みたいなのを書くことになるでしょう。

投稿2020/08/06 22:31

編集2020/08/08 07:23
Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

trey_0329

2020/08/07 16:31

ご回答ありがとうございます。 上記の../../media/image/goldwave.pngも試してみたのですが、何も表示されません。 ちなみに、全体のPathは下記の通りです。 C:/Users/nyakkoki3/Desktop/master_portfolio/media/images しかし同HTML上で <img class="" src="/media/images/goldwave.png" > とすると普通に表示されます。 何か他に問題ありますでしょうか?
Daregada

2020/08/07 21:41

表示はどのように行っていますか。ローカルサーバーを使っているとか。HTMLファイルをダブルクリックしてブラウザーを開くとどうなるか、など。
trey_0329

2020/08/08 06:38

ローカルサーバーを使っています
Daregada

2020/08/08 06:42

試しに、ローカルサーバーを使わずに、このHTMLファイルをエクスプローラー/Finderなどからダブルクリックする方法でブラウザーに表示させてみてください。
trey_0329

2020/08/08 06:49

そうすると、<img class="" src="/media/images/goldwave.png" >で表示されていた画像は何も表示されず、同時に<div style="background-image: url('../../media/image/goldwave.png');">も表示されません。 ちなみにバックエンドはDjangoを使っております。
Daregada

2020/08/08 06:56

ローカルサーバー経由でなければ/media/...は表示されないのは当然。 まずは、goldwave.pngを、「HTMLと同じディレクトリ」においてみましょう。 src="goldwave.png"と指定したimgや、url('goldwave.png')と指定したdivに画像が表示されますか。ローカルサーバーを使った場合と使わない場合で確認してみましょう。
trey_0329

2020/08/08 07:03

献身的にご協力頂き誠にありがとうございます。 goldwave.pngを、「HTMLと同じディレクトリ」に置き、<div style="background-image: url('goldwave.png');">に変更、また<img class="" src="goldwave.png">に変更したところ、img srcのほうは無事に表示されました。
Daregada

2020/08/08 07:18

相対パスは最初ので合ってますね。 原因はdiv要素の中にp要素しかなく、divの背景が隠れていることですね。 回答に書いておきます。
trey_0329

2020/08/08 07:41

おっしゃる通りでした。画像のgoldwave.pngの左端が無色たったため、それも影響して見えておらず、表示されていないものだと勘違いしておりました。 ご丁寧にご指導いただき誠にありがとうございます。大変助かりました。
guest

0

/で始まると絶対パスです。
Webサーバー上でしたらまだそれで良いかもしれませんが、WindowsやMacなどではそれでは大体辿れません(WindowsにおけるCドライブ直下に作ってる訳じゃないですよね)

./として相対パスにしてみてください。

投稿2020/08/06 21:30

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

trey_0329

2020/08/07 16:32

ご回答ありがとうございます。 こちらの方法も試してみましたが表示されませんでした。。 何か他に問題があるかもしれません。。
m.ts10806

2020/08/07 20:55

いずれにしても正しくパスが辿れてないことが原因かと。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問