Microsoft的IE支持文档在Internet Explorer 6-9中解释了这一点:
- 不应用前31个样式标记之后的所有样式标记.
- 不应用前4,095条规则之后的所有样式规则.
- 在使用@import规则连续导入导入其他样式表的外部样式表的页面上,将忽略深度超过三级的样式表.
我们需要一种方法来分割由资源管道中的Sprockets生成的已编译样式表,以使最大选择器数保持在4096以下,并在部署的Rails应用程序的HTML中链接到它们.我们如何将已处理资产(特别是样式表)的编译输出作为参数传递给可以修改文件的方法?
请参阅以下尝试开始的地方.如果有人可以帮我找到一种方法来制作可操作的(或者一种全新的解决方案),那就太棒了!
创建Bless是为了解决这个问题,方法是拆分样式表以使每张纸的最大选择器数量保持在限制之下.Bless在node.js的服务器上运行.我还没有看到类似Ruby的东西.Eric Fields试图将用罗盘编译的资产提供给Bless(在节点中运行),但该解决方案依赖于Compass处理资产编译,因此似乎不适用于资产管道.请注意,Bless不是链接到多个样式表,而是将@include语句添加到第一个工作表,这可能是要避免触及标记的方法.
当Christian Peters(@crispy)发现这个问题时,他实现了像Bless这样的分离器,它也将Compass输出传递给自定义模块,该模块在Rails 3.1之前运行良好.后来,他使用SprocketsEngine调整了他的拆分器,以便与Rails Asset管道集成.我已经尝试实现新代码,但它似乎没有自动运行(虽然在控制台中手动调用时分割器工作正常).
有关IE 6-9中CSS限制的更多信息,请参阅以下相关问题:
css internet-explorer ruby-on-rails sprockets asset-pipeline
我正在使用ASP.NET MVC开发一个站点.CSS文件已增长到88KB,并且有5,000多行.我最近注意到最后添加的样式在浏览器中不存在.CSS文件或行数是否有任何大小限制?
编辑:对不起,我忘了提到在FireFox和IE8中Windows 7中都出现了这个问题.
设计难以置信的大型Web应用程序,我们是否对这些大型项目中的文件大小有任何顶级或限制或最佳实践?我见过的最大的可能是twitter/gmail,它有大约1mb(缩小版)的javascript - 但浏览器可以处理多少?
如果有一个5mb,10mb或100mb javascript的大型应用程序缩小了怎么办?什么时候它会严重影响性能或内存使用(即使应用程序写得很好并进行了优化) - jit处理程序可以采取什么措施?是否收益递减?
除了通常的嫌疑人,如gmail,twitter,facebook,googledocs等,是否有任何真正的应用程序的例子.
谢谢!
我帮助管理当地ACM学生分会的网站,http://acm.cs.uakron.edu/.
出于某种原因,Internet Explorer只是拒绝解析大多数CSS.我知道的其他所有浏览器都处理得很好,但为什么IE7 +会停止?
css ×4
asp.net ×1
asp.net-mvc ×1
browser ×1
filesize ×1
html ×1
javascript ×1
sprockets ×1
stylesheet ×1
webkit ×1