将PureCSS添加到MVC 4.5包

时间:2015-07-20 16:50:31

标签: css asp.net-mvc yui-pure-css

我目前正在学习MVC风格的ASP.NET 4.5,我决定完全删除bootstrap并使用PureCSS(http://www.purecss.io)。

这主要是因为我的Web应用程序除了代码隐藏之外几乎不需要任何脚本,而且需要一些简单的JS来进行数据验证等。

目前我正在链接到Yahoo!的组合PureCSS样式表。 CDN:

<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/pure-min.css">

在我的_Layout.cshtml文件中。这显然是有用的,但我有两个问题:

  1. 如果CVN(无论出于何种原因)失败/关闭/更改,所有样式都会消失,我将不得不动态解决(或实现故障安全切换到另一个CDN的时间)
  2. 我非常喜欢捆绑的概念,我希望捆绑本地PureCSS库,以防止出现上述问题以及模块化/分区化。
  3. 生成此捆绑包的原因很简单:

    bundles.Add(new StyleBundle("~/Content/css").Include(
                        "~/Content/purecss_release_1_6/some.css",
                        "~/Content/purecss_release_1_6/other.css",
                        "~/Content/purecss_release_1_6/neat.css",
                        "~/Content/purecss_release_1_6/etc.css",
                        ...
                        "~/Content/site.css"));
    

    如果是这样,那很好,花花公子,但是发布中有一些DOZENS的css文件。是否有更简洁的捆绑方式?

    谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用IncludeDirectory来引用包含所有CSS文件的整个目录。

特定于您案例的示例

bundles.Add(new StyleBundle("~/Content/css")
    .IncludeDirectory("~/Content/purcss_release", "*.css"));

.NET 4.5中的新功能是一个集成系统,用于从失败的CDN回退到本地资料。教程/信息:http://www.hanselman.com/blog/CDNsFailButYourScriptsDontHaveToFallbackFromCDNToLocalJQuery.aspx

上述链接中的可用信息:

  

CDN后备的基本思想是检查类型或变量   脚本加载后应该出现,如果不存在,请尝试   在本地获取该脚本。请注意重要的转义字符   在document.write中。这是jQuery:

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-2.0.0.min.js"></script>
<script>
if (typeof jQuery == 'undefined') {
    document.write(unescape("%3Cscript src='/js/jquery-2.0.0.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>