css - 带有 ASP.net MVC 的 LESS CSS 中资源的绝对路径

标签 css asp.net-mvc less bundling-and-minification system.web.optimization

我知道还有其他问题,但都没有我需要的答案。

只需要能够在 MVC 页面中包含的某些 LESS 中强制使用绝对路径,以便正确获取图像(等)。

[websiteroot]
----Content
--------img
------------<image files>
--------bootstrap
------------<bootstrap files>
--------site.LESS
--------Site_styles.LESS
----Views
--------Shared
------------_Layout.cshtml

它甚至不在一个包中,它只是直接包含在 _Layout.cshtml 中作为

 @Styles.Render("~/Content/Site_styles.less");

在 Site_styles.less 我有

.carousel-image-1
{
    width: 100%;
    background: url('img/banner1.jpg') no-repeat;
}

但我不能让它成为绝对的,即

"~/Content/img/banner1.jpg"

它呈现为

background: url('/Content/img/sodexo_banner1.jpg')

以防万一,其他 LESS [bootstrap etc] 像这样打包

BundleTable.EnableOptimizations = false;

    bundles.UseCdn = true;
    var cssTransformer = new CssTransformer();
    var jsTransformer = new JsTransformer();
    var nullOrderer = new NullOrderer();

    var cssBundle = new StyleBundle("~/Content/css");
    cssBundle.Include("~/Content/Site.less");
    cssBundle.Include("~/Content/bootstrap/bootstrap.less");

    //cssBundle.Include("~/Content/Site_variables.less");
    cssBundle.Transforms.Add(cssTransformer);
    cssBundle.Orderer = nullOrderer;
    bundles.Add(cssBundle);

最佳答案

使用CssRewriteUrlTransform .

来自文档:

Rewrites urls to be absolute so assets will still be found after bundling.

示例

bundles.Add(new StyleBundle("~/Content/css")
        .Include("~/Content/Site.less")
        .Include("~/Content/bootstrap/bootstrap.less", new CssRewriteUrlTransform()));

关于css - 带有 ASP.net MVC 的 LESS CSS 中资源的绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26462697/

相关文章:

html - 为什么 Firefox 不使用本地绝对路径中的 CSS?

html - 为什么我的超大屏幕没有显示我的背景图片?

javascript - 单击链接时显示和隐藏段落

asp.net-mvc - ASP.NET MVC 自定义控件

css - Reactjs 能否以编程方式处理 :before?

node.js - 在启用了 Clean-Css 的情况下为 Windows 运行 Less.js 时出现 "object has no method ' 安装错误

html - 防止内容在 flexbox 模态中溢出超出滚动范围

c# - 决定用户类在应用程序中的位置

c# - Entity Framework 不生成 ApplicationUser 外键

css - 在一个元素的不同文件中使用 SCSS 代码