Compass for Rails 3.1的价值是什么?

我试图确定在启动新的Rails 3.1项目是否应包括Compass我以前没用过指南针。

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

将Compass与Rails 3.1结合使用可以带来什么好处?

Near路易2020/03/23 10:41:09

Compass提供了很多很好的mixin,强大的sprite生成器以及与Blueprint的紧密集成,这意味着您不必col在HTML上都使用非语义类。

如果您不使用mixins,那么使用Compass并没有太大的好处,但是如果您不使用它们,那么再次使用SCSS并没有太大的好处(嵌套和变量很好,但是mixins有助于保持特定于浏览器的状态在单个位置执行属性)。

但是,我发现蓝图比它的价值更麻烦。我仍然会使用Compass作为mixins,但是现在Rails 3.1和Compass之间的兼容性非常糟糕(您必须跳过一些麻烦而仍然牺牲一些功能)。

在有点相关的注释中,Rails 3.1编译资产的方式相当“破损”。它不考虑社区在最近一两年中如何使用Sass,而是将变量,混合和页面部分分开放置,以便按顺序包含在主文件中。Sprockets加载和编译Sass的“自动”方式使文件彼此解除关联,因此,即使您在中手动定义了加载顺序application.css,在文件中设置的变量也不可用于后续加载的文件。

Mandy2020/03/23 10:41:09

html5boilerplate指南针插件是一个伟大的节省时间太多,所以基于这些原因,我会用指南针

凯西里2020/03/23 10:41:09

Bourbon(Thoughtbot的产品)是指南针的轻巧替代品,可与3.1导轨很好地集成在一起。

它具有指南针提供的主要css3 mixins(背景图像,框阴影,边框半径,渐变...)。它还具有帮助按钮样式,“布局化”布局的助手以及其他一些功能。

您可能会错过罗盘所具有的一些强大功能,但是可以用sass的强大功能轻松克服:仅复制/创建您自己的mixin!

升级我的Rails应用程序时,指南针经常让我头疼。我很欣赏波旁威士忌的简单性(尽管它也可能使您头痛…………)

Mandy村村2020/03/23 10:41:09

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

例如Compass具有附加组件,例如CSS3跨浏览器功能:http : //compass-style.org/reference/compass/css3/ 这样,您可以在.scss文件中指定与浏览器无关的内容

边注:

Rails 3.1处理.scss文件的方式一次只能一次-例如,如果您在一个文件中定义变量,则它们不会被传递到其他.scss文件中。恕我直言,这并不是真正的最佳解决方案。