css - EnableOptimizations = true 时为什么不显示css图像?

  显示原文与译文双语对照的内容
0 0

我使用 mvc4,当我改变时


BundleTable.EnableOptimizations = true;

在 BundleConfig.cs 文件中,我的映像无法加载和失败。

我的解决方案在解决方案中的位置:


 themes/default/Profile/images/abc.png

在我的BundleConfig中:


 bundles.Add(new StyleBundle("~/Content/profile/PRA")
. Include("~/Content/themes/default/profile/mycss.css"));

我的CSS:


.sampleback{
 background-image: url('images/abc.png');
 }

如果我想使用 BundleTable.EnableOptimizations = true ;,我必须使用我的css类,直到它正常运行:


.sampleback{
 background-image:url('../themes/default/Profile/images/abc.png');
 }

是错误或者我是错误的方式?

时间: 原作者:

0 0

在外部CSS资源中的relative 路径被解析为 relative 资源本身的路径。

因这里,如果不绑定CSS位于一个路径中,并且绑定的CSS从另一个路径下载,当然 relative 路径不会更正。 ( 除非绑定机制能够解决这个问题,否则在写入绑定的CSS之前更正这样的relative 路径。)

最简单的解决方案是始终使用 relative 到域 root的路径,因此从 / 开始。 当然,如果你一天将它移动到一个子文件夹中,那么你的项目就会变得灵活。 如果你想避免这样做,那么查找一种解析CSS的解决方案,并使用变量/常量定义基本路径。

原作者:
...