Asp.net

.NET 4.5 中的樣式包和 CSS 中的圖示

  • January 12, 2013

我開始使用 .NET 4.5 內置的縮小和捆綁來縮小和捆綁我的 CSS 和 JavaScript。JavaScript 縮小效果很好,但是,我在 CSS 縮小方面遇到了麻煩。我使用以下程式碼創建了一個樣式包 -

var myCss = new string[]
                                       {
                                           "~/Content/jquery.css",
                                           "~/Content/app.css",
                                       };
bundles.Add(new StyleBundle("~/bundles/MySiteCss/").Include(myCss ));

然後我在 .cshtml(剃刀文件)中引用它們,如下所示 -

@Styles.Render("~/bundles/MySiteCss/")

它縮小了 CSS 文件。但是,如果 CSS 文件包含具有背景圖像引用的樣式,例如 background-image: url(‘img/icon.png’),它會嘗試從新位置載入此圖示文件(從包名稱派生) = /bundles/MySiteCss/img/icon.png

由於該圖示不存在於該位置,因此它不會被載入並顯示在頁面上。

您需要從同一個地方提供您的捆綁包和 CSS 才能輕鬆工作。例如,將您的捆綁線更改為:

bundles.Add(new StyleBundle("~/Content/MySiteCss/").Include(myCss));

並更新您的參考:

@Styles.Render("~/Content/MySiteCss/")

這已在 Microsoft ASP.NET Web 優化框架的 1.1.0-alpha1 版中得到修復。如果包含 Prerelease,

您可以通過 NuGet ( https://nuget.org/packages/Microsoft.AspNet.Web.Optimization ) 獲取更新。

引用自:https://stackoverflow.com/questions/11853755