用 Compass 寫 CSS

标签: 個人經驗談 | 发表时间:2011-03-19 02:05 | 作者:xdite Jay
出处:http://blog.xdite.net

最近在開發一個新產品,整體來說應該是接近寫完了,不過越接近完工,抓 IE 系列的 bug 就越是挫折。朋友 @evenwu 就來洗我要不要換成 Compass,說這東西超神奇,超好用,還可以把 IE bug 殺光光!

其實之前就久仰 Compass 大名了,只是文件實在看起來太他媽的眼花繚亂,因為專案進度一直在跑,不太敢貿然換掉寫 CSS 的方式。而且怕配合的網頁美術跟不上。後來某天解票實在解到太賭爛了,下班後就花了一兩個小時摸這個東西,一用就驚為天人!

Compass = Sass framework powered by community。據 @hlb 用地球語解釋,programmer/designer 用了以後就不需要用知道怎麼做 haslayout/clearfix 的神器!

Compass based on Sass。Sass 的作用是讓開發者可以用巢狀和寫程式的方式去撰寫 CSS。

用 Sass 開發有什麼好處呢?據我實際使用的情況 :

1. Sass 因為是以巢狀方式撰寫,再行 compile 成 CSS,所以不會再有 style 打架的問題

2. 寫錯(括號沒關, 色碼打錯字並不存在…等等)的話,Sass 會直接 compile 不過,註明第幾行 syntax error 或 color error …。 (就不會發生找半天, 開了一堆 browser 還測不到靈異現象的原因

3. Compatible CSS,所以舊的 style 直接貼上去也是沒問題的!

4. 內建許多的 mixin,例如我最近在寫漸變顏色的效果,為了支援各家瀏覽器,我總要囉唆的寫上三行 CSS

不過換成 Sass 後,我就可以直接寫成 @include linear-gradient(color-stops(white, #cff2ff)); },請參考這裡。compile 過後它會自動幫我寫完那三行的 CSS

5. 可以寫自訂的 mixin,上面的 mixin 不支援 IE,所以我還自己再寫了一個支援 IE 版,然後再 mixin 一遍。

以後我要寫漸變色,就只要 @include my-linear-gradient(white, #cff2ff); 填入色碼就收工了。

6. community-based,意思是你可以去 github,找一堆人家寫好的一堆噁心超炫的特效,想用直接 include 就收光了,不必辛苦寫老半天!
fancy-buttons
7. 公司超省力,只要大家 html 和 sass 規則定好,以後做版不必再 ie hack 老半天(只要有人解過了就可以 include 來用)。一堆 RD 和一堆視覺設計師不需要再擔心誰跟誰搭有 style 不同的問題….。甚至視覺設計師以後只要專心做版即可,要是不小心 float 到爛掉就叫它直接 include self clear 就收工。

試寫過一輪以後超 high 的,本來卡在現有 CSS 已經一兩千行,重寫成本很高,沒想到 @hlb 又跟我說有 sass-convert (gem install sass –pre)這東西,我又更 high 了….馬上就開一個 branch 一口氣把 CSS 轉好。(自動掃描然後歸檔成 nested Sass)

至於 Rails 整合更方便,Compass 有直接整合 Rails 的 Solution。討厭自己一直手動 compile,也有 compass watch,會一直幫你重新 compile。還有搭配的 gem 幫你解決掉部署問題。我現在都是開 compass watch + livereload 快樂的寫 html + css …

Ruby (Web) Developer 真是太幸福了….

btw ,雖然 Compass 與 Sass 都是 Ruby 寫的,但如果你是用 Python 或 PHP 還是可以搭啦。只是這東西因為有 compile 的需要,部署上可能要自己研究一下方案。


update: @hlb 說 請愛用 sass alpha 跟 compass beta , 記得愛用 @extend, 少用 @include

相关 [compass css] 推荐:

用 Compass 寫 CSS

- Jay - Blog.XDite.net
最近在開發一個新產品,整體來說應該是接近寫完了,不過越接近完工,抓 IE 系列的 bug 就越是挫折. 朋友 @evenwu 就來洗我要不要換成 Compass,說這東西超神奇,超好用,還可以把 IE bug 殺光光. 其實之前就久仰 Compass 大名了,只是文件實在看起來太他媽的眼花繚亂,因為專案進度一直在跑,不太敢貿然換掉寫 CSS 的方式.

Compass用法指南

- - 阮一峰的网络日志
几个月前,我介绍了 Sass的用法. Sass是一种"CSS预处理器",可以让CSS的开发变得简单和可维护. 但是,只有搭配 Compass,它才能显出真正的威力. 本文介绍Compass的用法. 毫不夸张地说,学会了Compass,你的CSS开发效率会上一个台阶. 本文假设你已经掌握了CSS的主要用法,如果你还懂Sass,那就更好了.

CSS图形

- GLORY - 酷壳 - CoolShell.cn
下面的示例展示了使用纯CSS制作的各种图形,你可以自由地修改文中的CSS代码. 经测试,IE9, Chrome, FF, Safari都可以正常显示. 五角星形 via Kit MacAllister. 心形 via Nicolas Gallagher. 无穷大 via Nicolas Gallagher.

CSS 入门

- - 博客 - 伯乐在线
级联样式表非常简单,也就是 (X)HTML 网页之上的分层设计. 使样式表 “级联”,这样您就可以跨站点应用它 — 也就是说,将样式应用到网站,它就会自行应用到每个网页的每个元素. ●XHTML:可扩展 HTML. 对于网站,将数据与设计分离是一个重要的概念:数据使用 (X)HTML 发送到 浏览器,而设计使用 CSS 应用到该数据.

css 圆角

- - CSDN博客推荐文章
作者:kangquan2008 发表于2012-2-20 22:32:24 原文链接. 阅读:6 评论:0 查看评论.

CSS架构

- - 博客 - 伯乐在线
英文原文: CSS Architecture,编译: CSDN-张红月. Philip Walton 在AppFolio担任前端工程师,他在Santa Barbara on Rails的聚会上提出了CSS架构和一些最佳实践,并且在工作中一直沿用. 擅长CSS的Web开发人员不仅可以从视觉上复制实物原型,还可以用代码进行完美的呈现.

CSS总结

- - CSDN博客Web前端推荐文章
         接触过一段CSS,为简单理解,将CSS说成两步,一步是你做个“记号”,另一步是根据记号设置样式.      网页的内容和样式是分开的. “记号”便是能标识网页中某部分内容的关键字词(选择器),而根据记号设置样式呢,就是按图索骥根据记号设置标识的那部分内容的样式.     这段时间练习的每个CSS小例子,或是用id做记号,或是用name,或是用class,只有有了这些所谓的记号,CSS设定的样式才有用,.

CSS基础

- - CSDN博客Web前端推荐文章
1、引入CSS的四种方式. 行内样式、内嵌样式、链接样式、导入样式. 基本选择器:标签选择器,ID选择器,类选择器,通用选择器. 通用选择器:*{css代码}. 通用选择器作用:对整个网页中所有HTML标签进行样式定义. 常见用法:定义*{margin:0;padding:0}通用样式,并置于CSS文件最顶端,用于对HTML内所有的标签进行重置以保证页面能兼容多种浏览器.

CSS命名规范

- - BlogJava-首页技术区
网上整理的比较好的css命名规则,为css代码的规范化做参考,增加代码的可读性. 容器: container 页头:header 内容:content/container. 页面主体:main 页尾:footer 导航:nav . 侧栏:sidebar 栏目:column 左右中:leftright center .

css基础入门

- - CSDN博客推荐文章
css是Cascading Style Sheets的缩写,是一种用于为Html文档定义布局的样式表语言. Css是一种样式表语言,用于为html定义布局. Css弥补了Html对标记属性控制的不足. Css将网页内容与样式实现分离,使得网页设计更加明了、简洁. Css可以精确控制网页布局,如行间距、字间距、段落缩进和图片定位等.