kik*_*ito 12 css haml ruby-on-rails sass compass-sass
我在rails项目上使用haml(+ sass)有一些经验.我最近开始使用blueprintcss - 我唯一做的就是将blueprint.css转换为sass文件,并从那里开始编码.我甚至有一个rails发生器,默认包含所有这些.
似乎Compass完成了我的工作以及其他事情.我试图了解其他东西是什么 - 但文档/教程不是很清楚.
这些是我的结论:
通过这种分析,我很想给Compass一个尝试.
我的分析是否正确?我错过了任何关键点,还是我错误地评估了这些要点?
And*_*Vit 25
理想的目标是风格和内容的分离:它并不总是100%可行,但通过使用语义标记可以很好地完成.蓝图和其他CSS框架完全失败了.
Compass背后的最初想法是避免使用Blueprint生成的可视标记来污染HTML:如果您正在使用class="column-4"标记进行编写,那么您也可以将其放入style="width:160px"其中.在语义上它是相同的含义,并且维持相同的重复量.
Compass将Blueprint类.column-4转换为mixin,您可以将其应用于有意义的选择器:
#sidebar
+column(4)
Run Code Online (Sandbox Code Playgroud)
这样,您只需要在样式表中维护它,而不是在许多模板和HTML文件中.
指南针是项目感知的.它将处理整个样式表树的编译,甚至在运行时自动保存compass watch.
指南针提供了一些非常有用的功能,例如:
image_url是一个可配置的函数,可以处理相对或绝对路径,甚至可以根据需要设置旋转资产主机.
CSS3模块负责处理圆角,阴影等所有特定于浏览器的样式规则.
通用实用程序为您一直所做的事情提供帮助,但重复次数较少(特别是对于跨浏览器问题).这些是我经常使用的一些基本的:
然后,除了内置的蓝图之外,Compass还为许多其他样式框架提供了工具.例如,请查看Susy,这是一个Sass原生布局框架,而不仅仅是一个CSS端口.它专注于柔性和流体网格.
Compass 对我来说看起来也是一个很好的解决方案,但是在一个项目上尝试过它之后,我并没有真正看到使用它对我来说有什么巨大的优势。和你一样,我对蓝图很满意,而且我认为没有必要在 haml/sass 之上添加另一层。
我最终从该项目中剥离了指南针,只使用蓝图 CSS 文件的 sass 版本,然后从那里开始。我将任何自定义/附加样式存储在单独的 sass 文件中,仅此而已。如果您只想保持简单,则不需要指南针或类似的东西。