在我的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。