在本地运行我的mvc网站(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"
为什么?
答案 0 :(得分:5)
我明白了:
MVC4附带\App_Start\BundleConfig.cs
文件,用于最小化css / js脚本。
每当我发布我的网站(RELEASE)时,它都会调用\ Content \ css(最小化文件),其中包含我的图像的路径(“../ images / etc ...”),这是不正确的,因为css文件不再存在WITHIN /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")
答案 1 :(得分:0)
看起来CSS中的路径没有指向正确的图像位置。 ..
表示一级,我假设目录没有images文件夹,因此你必须明确指定content / images文件夹。
答案 2 :(得分:0)
css路径必须与两个系统上的图像路径相同。 是这样吗?