我们有一个大型的ASP.Net网站,有一个单一的CSS样式表,失去控制。
我正在考虑使用以下策略(从http://www.techrepublic.com/article/developing-a-css-strategy/5437796/开始),这对我来说似乎是合乎逻辑的
您可能有一个CSS文件专门用于网站样式和单独的CSS文件,用于可识别网站页面的子集(例如特定部门的页面或不同布局样式的页面)。对于特定页面唯一的样式,请为每个页面使用单独的CSS文件(如果有太多样式可以舒适地放在文档标题中)。您可以为每个页面链接或导入相应的CSS文件,以便加载显示该页面所需的所有样式,但只显示在其他页面上的少量不必要的样式。
这是一个很好的方法吗?什么是替代品?
解决方法
我认为最好的选择是将css分成:
-layout.css
-content.css
那么如果你需要其他更具体的内容,你可以为广告添加更多的CSS:ads.css或一个特定部分的CSS。
我也会为ie css添加IE css hacks。
我不会说只为一个页面创建一个CSS:如果您使用太多的CSS,您可以使用的问题是,您的页面将不得不对服务器做更多的请求,这将减慢您的页面。
这就是为什么我建议你实现一个HttpHandler,它将在当前需要的css的一个文件中创建一个缓存副本。看这里:
http://blog.madskristensen.dk/post/Combine-multiple-stylesheets-at-runtime.aspx