Ruby on rails 3 Rails 3.1的Compass值是多少?

Ruby on rails 3 Rails 3.1的Compass值是多少?,ruby-on-rails-3,sass,ruby-on-rails-3.1,blueprint-css,compass-sass,Ruby On Rails 3,Sass,Ruby On Rails 3.1,Blueprint Css,Compass Sass,我正在尝试决定是否应该在启动新的Rails 3.1项目时加入。我以前没用过指南针 Rails 3.1现在直接支持SCS。Rails 3.1资产管道(通过链轮)现在可以自动编译样式表。我可以直接使用SCSS版本的CSS框架,比如Blueprint 将Compass与Rails 3.1结合使用会给我带来什么好处?Compass是一个设计无关的框架,例如,您不必担心用户拥有哪些浏览器 e、 g.Compass具有附加组件,例如CSS3跨浏览器功能: 通过这种方式,您可以在独立于浏览器的.scss文件中

我正在尝试决定是否应该在启动新的Rails 3.1项目时加入。我以前没用过指南针

Rails 3.1现在直接支持SCS。Rails 3.1资产管道(通过链轮)现在可以自动编译样式表。我可以直接使用SCSS版本的CSS框架,比如Blueprint


将Compass与Rails 3.1结合使用会给我带来什么好处?

Compass是一个设计无关的框架,例如,您不必担心用户拥有哪些浏览器

e、 g.Compass具有附加组件,例如CSS3跨浏览器功能: 通过这种方式,您可以在独立于浏览器的.scss文件中指定内容

旁注:


Rails 3.1处理.scss文件的方式是一次处理一个文件——例如,如果在一个文件中定义变量,它们就不会转移到另一个.scss文件中。IMHO不是真正的最佳解决方案。

Compass提供了很多很好的混合,一个非常强大的精灵生成器,并与Blueprint紧密集成,这意味着您不必在HTML中使用非语义的
col

如果不使用mixin,使用Compass没有什么好处,但是如果不使用scs,使用scs也没有什么好处(嵌套和变量很好,但是mixin有助于将特定于浏览器的属性实现保持在单个位置)

然而,我发现蓝图比它的价值更麻烦。我仍然会使用Compass进行混搭,但是现在Rails 3.1和Compass之间的兼容性非常糟糕(你必须跳过一些障碍,并且仍然牺牲了一些功能)

在一个有点相关的注释中,Rails3.1编译资产的方式相当“糟糕”。它不考虑社区如何在过去的一年或两年内使用SASS保持变量、混合席和页面部分都被分开,以便被主文件按顺序包含。链轮加载和编译Sass的“自动”方式会将文件彼此断开关联,因此即使您在
应用程序.css中手动定义加载顺序,您在文件中设置的变量也无法用于随后加载的文件。

compass插件也非常节省时间,因此,出于这些原因,我将使用compass(由Thoughtbot提供)作为compass的一种轻型替代品,它与rails 3.1集成良好

它有你用指南针得到的主要css3混合(背景图像、框阴影、边界半径、渐变…)。它还可以帮助你设计按钮的样式,“网格化”你的布局和其他一些好东西

您可能会错过compass的一些强大功能,但这可以通过sass的强大功能轻松克服:只需复制/创建您自己的mixin


升级rails应用程序时,Compass经常让我头疼。我欣赏Bourbon的简单性(尽管它可能也会让你头疼…早上:-)

Blueprint是一个设计无关的CSS框架,我不需要Compass直接将其作为SCSS文件安装到Rails 3.1中。感谢您对当前Rails 3.1问题的警告。似乎指南针精灵生成器和混音器具有持续的价值。除了Blueprint,还有其他方法可以提供CSS重置和语义命名的类吗?Re:语义CSS框架,我不这么认为。不同之处在于将样式应用于名为“span-3 prepend-2”的类。您可以将菜单包装在
标记中,然后直接将样式应用于该类。当您需要ID或类时,可以适当地命名它,如“.user”或“#showreel”。Compass让我们通过mixin(
body>div{@include container;}nav{@include col(3);@include prepend(2);}
)使用Blueprint来实现这一点。我个人不喜欢它,但它比在HTML中乱扔布局类要好得多。#我是斯努比倾向于使用Eric Myers(sp?)的版本CSS重置,然后在此基础上构建。直到最近,我已经使用了我自己的所有混音,但我已经开始使用Compass混音。我仍然自己做所有与布局相关的CSS。如果没有CSS网格框架,这太快太容易了,除非你正在做一个非常基于网格的设计(或者一些必须非常灵活的东西,比如Wordpress主题[颤抖])。读者应注意,此答案与Rails 3.1的预发布版本有关。Rails 3.1的最新候选版本已修复了链轮问题,包括部分。我认为可以放心地假设,一旦3.1正式发布,它将正常工作。在Compass邮件列表上,永利荷兰回答了以下问题:“Compass对Rails就像Sass对Ruby一样。Compass为Sass打包了模式和最佳实践,用于CSS3、资产url助手等,而不仅仅是网格框架。”我想他的意思是Compass对Sass就像Rails对Ruby一样(至少如果我对SAT的记忆正确的话)波旁威士忌和Rails 3.1对我来说是对的。分离关注点比尝试用Compass做任何事情都要好。