4

mvc Webサイトをローカル(VS IIS)で実行すると、画像が正しく表示されます。

cssスニペット:

.sprites {
    background: transparent url(../images/sprites.png) no-repeat 0 0;
}

ただし、サイトがサーバーまたはローカルIIS(VS IISではない)に公開されている場合、イメージの読み込みに失敗します(無効なパスを指定します)

サーバー上で画像を正しく表示する唯一の方法は、cssファイルを変更することです"../images/sprites.png""/content/images/sprites.png"

何故ですか?

4

3 に答える 3

5

私はそれを考え出した:

MVC4 には、\App_Start\BundleConfig.cscss/js スクリプトを最小化するために使用されるファイルが付属しています。

ウェブサイトを公開するたびに (RELEASE)、画像へのパス ("../images/etc..") を含む \Content\css (最小化されたファイル) を呼び出していましたが、css ファイルが /Content 内ではなくなったため、これは正しくありませんでした。 /Styles/style.css ですが、/Content/css (最小化されたバージョン)。

私はそれを変更しなければなりませんでした:

から:

bundles.Add(new StyleBundle("~/Content/css").Include(
                        "~/Content/styles/all.css",
    ..

に:

        bundles.Add(new StyleBundle("~/Content/styles/css").Include(
                "~/Content/styles/all.css",

..

そして私のlayout.cshtmlで:

@Styles.Render("~/Content/styles/css")
于 2013-02-11T15:38:17.893 に答える
0

css パスは、両方のシステムのイメージ パスに対して同じである必要があります。そうですか ?

于 2013-02-11T15:13:41.383 に答える
0

CSS のパスが正しい画像の場所を指していないようです。..は 1 レベル上を示します。ディレクトリには images フォルダーがないと想定しているため、content/images フォルダーを明示的に指定する必要があるのはなぜですか。

于 2013-02-11T15:08:34.040 に答える