为什么我的样式包在ASP.NET MVC 4中不能正确呈现?
所以我是ASP.NET MVC 4的新手(呃,我用了3个)。
无论如何,在我的BundleConfig.cs文件中,我正在尝试加载Twitter Bootstrap css文件和一个额外的site.css
文件。
但是只有site.css文件被渲染。 我已经确认引导的CSS文件确实是在正确的地方(内容文件夹),并在site.css位于相同的位置
bundles.Add(new StyleBundle("~/Content/css").Include( "~/Content/bootstrap.min.css", "~/Content/bootstrap-responsive.min.css", "~/Content/site.css"));
编辑
好吧,这不是我喜欢的方式,但安德烈Drynovbuild议我尝试:
@import url("bootstrap.min.css") body{background: #e8e6da;padding-top:60px;padding-bottom:40px;} @import url("bootstrap-responsive.min.css")
但是这不起作用。 我改变了site.css到上面,但现在背景的身体颜色甚至不工作。 如果我删除@imports背景是正确的颜色。
编辑2
我不明白,但补充说:
bundles.IgnoreList.Clear();
我的包文件修复了它。 嗯。 不知道我明白。 但是我能够从site.css中删除@imports。
奇怪。
IgnoreList的默认行为是忽略任何缩小的脚本。
您可以从名称中删除'.min',也可以清除IgnoreList。
只是为了让其他人知道谁不能在这个长长的线程中轻松地find工作的解决scheme,我有完全相同的问题,我解决了这个问题,就像在实际问题的底部发现编辑build议一样!
我开始了一个新的项目MVC4 Web应用程序,在上面显示的完全相同的代码中为引导程序包创buildpath:
bundles.Add(new StyleBundle("~/Content/css").Include( "~/Content/bootstrap.min.css", "~/Content/bootstrap-responsive.min.css", "~/Content/site.css"));
但由于未知的原因,这是不是加载..最后我放弃了,并决定谷歌,发现这个网页。
我尝试添加以下内容作为BundleConfig.cs文件中的第一行。 重新编译,一切开始工作,现在正在加载样式正确。
bundles.IgnoreList.Clear();
也许这有助于某人。
我不使用捆绑Bootstrap(作为例外),但它的缩小版本,所以这对我的作品:
<!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> <!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]--> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>@ViewBag.Title</title> <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <meta name="viewport" content="width=device-width"> <link rel="stylesheet" href="@Url.Content("~/Content/bootstrap.min.css")"> <style> body { padding-top: 60px; padding-bottom: 40px; } </style> <link rel="stylesheet" href="@Url.Content("~/Content/bootstrap-responsive.min.css")"> @Styles.Render("~/Content/less") @Scripts.Render("~/bundles/modernizr") </head> <body>
内联样式的部分来自http://www.initializr.com/顶部的NavBar,如果你不需要它,只需删除。;
另外,你可以在你的styles.css文件中做同样的事情:
@import url('bootstrap.min.css'); body { padding-top: 60px; padding-bottom: 40px; } @import url('bootstrap-responsive.min.css'); You CSS Code below
正如保罗所说,捆绑设置为自动忽略“最小”文件。 但是忽略这个规则是一个不好的做法,请参阅这个答案Bundler不包括.min文件到更好的解决scheme(同时检查第一个和第二个答案)。