4

我有这个捆绑配置:

bundles.Add(new StyleBundle("~/styles/style1").Include("~/Content/library/styles/style1.css")

然后我添加了这段代码来渲染捆绑的 CSS:

@Styles.Render("~/styles/style1")

我的 CSS 包含以下内容:

.style1 {
  background-image: url("../img/image.png");
}

由于捆绑,背景图像的路径被错误定向到 ~/Content/library/img/image.png 而不是 ~/img/image.png。我不想编辑 CSS 文件路径,因为许多其他页面正在使用它。您是否知道任何解决方案,或者我是否缺少捆绑配置?

4

1 回答 1

11

你需要应用CssRewriteUrlTransform来解决这个问题:

bundles.Add(new StyleBundle("~/styles/style1")
                .Include("~/Content/styles/style1", new CssRewriteUrlTransform())

或者,您也可以在样式表中使用绝对路径。

PS:如评论中所述,您必须通过 Codeplex 或 NuGet 将Web 优化包添加到您的项目中才能使用 CssRewriteUrlTransform 类

于 2013-08-30T10:45:10.330 回答