在我的 MVC5.1 项目中,我使用捆绑和缩小与 CSS 重写转换:
styleBundle.Include("~/Content/Site.css", new CssRewriteUrlTransform());
bundles.Add(styleBundle);
CssRewriteUrlTransform
转换相对于站点根目录的图像路径。但是,当我将图像嵌入到 css 中时:
span.file {
background-image: url(data:image/png;base64,iVBORw0KGg+...2AAAAElFTkSuQmCC);
}
这被翻译成
span.file {
background-image: url(http://localhost:52253/Content/data:image/png;base64,iVBORg...mCC);
}
而且显然~/Content/data:image/png;base64...
不存在。
除了更新 CSS 文件以不包含嵌入图像之外,还有什么方法可以阻止这种情况的发生?或者分离成不同的 CSS 文件,使用实际的 URL 并对这些文件进行 URL 转换。另一个只有嵌入图像的 CSS。