我有这些条件css文件
<!--[if IE 7]><link rel="stylesheet" type="text/css" media="all" href="/Content/css/ie7.css" /><![endif]-->
<!--[if IE 6]><link rel="stylesheet" type="text/css" media="all" href="/Content/css/ie6.css" /><![endif]-->
我如何缩小这些,因为这些只应分别包含在IE7和IE6中?
答案 0 :(得分:2)
换句话说,我应该缩小并将它们结合起来吗?
这与我所说的相反。
没有必要花时间优化垂死的网络浏览器。
你已经拥有的东西,并且已经足够好了:
<!--[if IE 7]><link rel="stylesheet" type="text/css" media="all" href="/Content/css/ie7.css" /><![endif]-->
<!--[if IE 6]><link rel="stylesheet" type="text/css" media="all" href="/Content/css/ie6.css" /><![endif]-->
如果您愿意,可以缩小ie7.css
和ie6.css
以略微减小文件大小,但这些文件应该相对较小,因为它们只包含一些针对IE6 / 7的修复程序。
如果确实想要删除这些文件,那么你可以使用CSS hacks(有效的hacks,在这种情况下,所以没有)将修复包含在主CSS文件的底部你的minifier搞砸他们的风险)。
例如,如果你有这个:
<强> ie6.css 强>:
.something {
width: 100px;
}
<强> ie7.css 强>:
.something .else {
float: left;
}
如果您在主CSS文件的底部添加了这些文件,则可以完全删除这些文件:
/* IE6 fixes */
* html .something {
width: 100px;
}
/* IE7 fixes */
*+html .something .else {
float: left;
}
此处有更多信息:http://en.wikipedia.org/wiki/CSS_filter#Star_HTML_hack
答案 1 :(得分:1)
我编写并使用了一个名为RequestReduce的OSS项目,该项目会自动检查您的传出响应,并查找要捆绑和缩小的css和javascript。此工具用于多个Microsoft拥有的属性,并在社区中得到广泛采用。它解决了这个问题,就像thirtydot建议通过留下有条件评论的CSS和javascript一样。由于使用这些版本的人群每天都很小并且在缩小,因此将这些版本捆绑起来确实不值得。那些不使用IE6或7的人根本不会删除这些样式,因此不会受到影响。捆绑它们也特别具有挑战性,因为您必须根据访问者的用户代理在运行时发出不同的捆绑包。虽然RequestReduce能够做到这一点,但我可以花更多的时间来增加功能。