使用title和rel属性组合并最小化css

时间:2010-06-10 22:23:16

标签: css asp.net-mvc compression minimize

我一直在阅读有关css和js压缩和最小化的内容。特别是帖子Concatenate and minify JavaScript on the fly OR at build time - ASP.NET MVC我正在开发一个MVC ASP.NET应用程序并使用Combres来最小化和压缩文件。我不太高兴,现在我正在评估MVCScriptManager,正如斯科特在提到的帖子中所建议的那样。

但是我的css文件有问题:在我的网站中我允许用户更改页面的样式,我完成了定义不同样式表的任务。

要在用户点击按钮时更改样式,请使用链接标记的“title”属性启用正确的样式:

$('link[rel*=style][title]').each(function(i) {
   this.disabled = true;
   if (this.getAttribute('title') == styleName) this.disabled = false;
});

在我的页面的标题部分,我所拥有的是:

<link rel="stylesheet" type="text/css" href="/Content/css/green.css" title="Green" media="screen" />    
<link rel="alternate stylesheet" type="text/css" href="/Content/css/cyan.css" title="Cyan" media="screen" />
<link rel="alternate stylesheet" type="text/css" href="/Content/css/orange.css" title="Orange" media="screen" />
<link rel="alternate stylesheet" type="text/css" href="/Content/css/navy.css" title="Navy" media="screen" />
<link rel="alternate stylesheet" type="text/css" href="/Content/css/purple.css" title="Purple" media="screen" />
<link rel="alternate stylesheet" type="text/css" href="/Content/css/pink.css" title="Pink" media="screen" />
<link rel="alternate stylesheet" type="text/css" href="/Content/css/wine.css" title="Wine" media="screen" />

问题是当我合并样式表时,我不能依赖title和rel属性来进行切换。任何帮助或建议将不胜感激!

提前感谢!

1 个答案:

答案 0 :(得分:3)

好吧,你应该按需加载CSS文件。

因此,如果用户选择粉红色,则将插入pink.css <link>作为<head>中的最后一个元素。