Css System.Web.Optimization StyleBundler从+;但不是-编译和缩小时更少

Css System.Web.Optimization StyleBundler从+;但不是-编译和缩小时更少,css,less,bundler,bundling-and-minification,system.web.optimization,Css,Less,Bundler,Bundling And Minification,System.web.optimization,当在less中使用纯CSS计算时,我必须在计算字符串之前放置一个波浪线,以阻止less进行计算,这在执行时有效,但在使用时无效+ 这是什么原因造成的?我能阻止它发生吗 示例: width: calc(~"(100%) - 20px"); 结果: width: calc((100%) - 20px); width: calc((100%)+ 20px); width: calc((100%) - -20px); 但是: 结果: width: calc((100%) - 20px); wi

当在less中使用纯CSS计算时,我必须在计算字符串之前放置一个波浪线,以阻止less进行计算,这在执行时有效,但在使用时无效+

这是什么原因造成的?我能阻止它发生吗

示例:

width: calc(~"(100%) - 20px");
结果:

width: calc((100%) - 20px);
width: calc((100%)+ 20px);
width: calc((100%) - -20px);
但是:

结果:

width: calc((100%) - 20px);
width: calc((100%)+ 20px);
width: calc((100%) - -20px);
这是无效的css

我找到的唯一解决办法是:

width: calc(~"(100%) - -20px");
结果:

width: calc((100%) - 20px);
width: calc((100%)+ 20px);
width: calc((100%) - -20px);
这在数学上是正确的,但为什么捆绑和缩小迫使我必须这样做

作为旁注,我使用visual studio 2017社区及其来自bundleConfig.cs的捆绑

我的样式包看起来是这样的:

    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new StyleBundle("~/Content/css/BundledCSS")
            .Include("~/Content/css/UpToDate/jquery-ui.css")
            .Include("~/Content/less/bootstrap/bootstrap.css")
            .Include("~/Content/css/font-awesome.css")
            .Include("~/Content/css/awesome-bootstrap-checkbox.css")
            .Include("~/Content/css/animate.css")
            .Include("~/Content/css/SidewaysNav.css")
            .Include("~/Content/css/site.css")
            .Include("~/Content/css/pastel-colors.css")
        );

        BundleTable.EnableOptimizations = true;
        bundles.FileSetOrderList.Clear();
    }

请参见删除的空白(但最有可能的是一些css缩小器在更少的空白之后)。Less本身不应触及
~”
(请参阅)内部的任何内容,但某些特定标记除外。@seven Phase max感谢您指出这一点,我已更新了我的问题,以帮助将其更多地指向绑定和缩小方面,请参阅删除的空白(但很可能是一些css缩小器位于Less之后)。Less本身不应触碰
~”
(请参阅)内部的任何东西,但某些特定标记除外。@seven Phase max感谢您指出这一点,我已更新了我的问题,以帮助将其更多地指向捆绑和缩小方面