2

私の見解では、次のコード行で画像をロードできます:(<div id="bglion"><%= image_tag("BG-LION6.png")%></div>これは機能します)が、代わりにCSSファイルから画像をロードしたいと思います。

周りを読んだ後、私はこれを試しました:

#bglion {src: background:url('BG-LION6.png');}
#bglion {src: asset-url('BG-LION6.png');}
#bglion {src: asset-url('BG-LION6.png', image);}

...しかし、画像はページに読み込まれません。どうすればそれを機能させることができますか?

(画像は/ asset / imagesにあります)

4

3 に答える 3

4

私はあなたがいくつかのことをしなければならないと思います。あなたのCSSはおそらくこれに沿ったものでなければなりません:

#bglion { background: image-url('BG-LION6.PNG'); }

background実際に設定しようとしているCSSプロパティです。srcCSSプロパティではありません。image-url画像アセットフォルダを指すRailsパスヘルパーです。asset-urlアセットフォルダ全体を指しているだけで、画像が画像フォルダにあることを指定する必要があると思います。

次に、div画像が含まれなくなった場合、画像は幅と高さが0に折りたたまれ、サイズを定義するものがなくなります。画像のサイズを定義するには、ラッパーdivにCSSを追加する必要があります。だからこのようなもの:

#bglion { background: image-url('BG-LION6.PNG'); width: 100px; height: 100px; }
于 2013-01-04T21:09:50.803 に答える
3

代わりにこれを試してください:

#bglion { background: url("/BG-LION6.png"); }

また

#bglion { background: url("/assets/BG-LION6.png"); }

使用しているレールのバージョンと、アセットを設定したフォルダーによって異なります。

アセットにアクセスするときは、相対パスではなく常に絶対パスにする必要があります。

于 2013-01-04T21:05:11.803 に答える
1

css ファイルを css.erb 拡張子を持つように変更してから、次のようにすることができます。

#bglion {
background-image: url(<%=asset_path "BG-LION6.png"%>);
}
于 2013-01-04T21:14:13.620 に答える