compass

Compass是Sass的工具库,就好像jQuery是js的库一样。

sass有了compass的配合,就会更加事半功倍。

Sass本身只是一个编译器,Compass在它的基础上,封装了一系列有用的模块和模板,补充Sass的功能。它们之间的关系,有点像Javascript和jQuery、Ruby和Rails、python和Django的关系。(by:阮一峰http://www.ruanyifeng.com/blog/2012/11/compass.html)

官网:http://compass-style.org/

compass安装

首先要装上ruby,官网说,更高级点的可能需要安装rvm

不过经历过前边sass,ruby啥的应该都配置好了才开始玩compass的

接下来:更新ruby环境并安装compass

  1. 更新$  gem update --system 

更新完毕:

   2.安装$  gem install compass 

安装完毕:

compass的创建

进入项目目录 $ cd 目录路径

项目初始化:$ compass create <项目文件夹名称>

例如:$ compass create sassTest

项目初始化是用来创建自己的compass项目的,创建完成,当前目录下就会生成一个你刚才命名的子目录。

创建完成,他会在目录下创建下面这些文件:

sass文件夹放置sass源文件

stylesheets文件夹放置编译后的css文件

config.rb是项目的配置文件。

其中

他主动创建的screen.sass就是放置自己主要样式的文件,并且会自动引用进来compass的reset模块(后讲)。

ie和print分别是针对ie和打印设置的专门样式,看自己项目需要吧。

进入项目目录:$ cd <项目文件夹名称>

开始编写项目。。

compass编译

返回项目根目录下运行!!输入命令: $ compass compile

之后,计算机自动的将sass文件编译成css文件并保存在tylesheets子目录中。

另外,若要设置编译出来的风格,编译的命令可以做如下更改:

compass compile --output-style compressed

这样会把css中的注释啥的都删掉,压缩css文件。

但是例外,如果文件中的版权声明不想被压缩时去掉咋办?——解决:在注释的前边加一个感叹(!)

例如

/*!

* 我是版权信息,不能被压缩删掉

*/

这样,压缩风格的编译出来就不会把这段注释信息删掉了

其他风格有:

expanded:

nested:

compact:

compressed:

或者修改config.rb文件中的output_style = :expanded  也可以更改编译模式

同时编译未发生改动的文件:compass compile --force

监听编译:$ compass watch

这样,文件有变动,保存后就会自动编译

compass分为六大核心模块

1.  reset:

浏览器默认样式重置模块,减少浏览器样式的差异性

引入方法:@import “compass/reset”

进网页看reset核心mixin详细说明:http://compass-style.org/reference/compass/reset/utilities/

2.  Layout:

提供页面布局的控制能力

引入方法:@import “compass/layout”

使用率很低

3.  CSS3:

用来提供跨浏览器的css3能力

引入方法:@import “compass/css3”;

功能:

——添加浏览器前缀:@include css3属性名(对应属性值)

例如box-shadow属性:

@include box-shadow(1px 1px 3px 4px #333);

这样编译出来自动生成前缀代码了。(若不想配置的浏览器,则在browser support中设置即可)

其他功能(点css3链接):

4.  Helpers

内含一系列的函数,和sass函数列表很像,虽然比较少用到,但是功能强大。

5.  Typography

主要用来修饰我们的文本样式、垂直韵律

引入方法:

  @import “compass/typography/links”;  单独引入某一个模块

  @import “compass/typography”;  整体引入一个模块

6.  Utilities

其他模块所不具备的补充。见闻知意:辅助类工具的模块。

!!区别于helpers的内部都是函数,Utilities内部都是mixin

7.  Browser Support:

用来配置compass默认支持哪些浏览器、对于特定浏览器支持到哪个版本

这个模块的修改影响着其他六个模块的配置输出

引入写法:@import “compass/support”;(css3模块已经间接引入了support模块,这个可以不写)

注意:

只要@import “compass” 就默认引入五大模块,但是只有reset和layout模块需要特殊指定引入的

插件的使用——以normalize为例

reset和normalize.css

用normalize来替换reset

命令行:   gem install compass-normalize  

或者,自己去网上下载normalize.css文件  necolas.github.io/normalize.css

安装好后在config.rb文件引入插件

引入——在config.rb文件中顶部另起一行填入:require ‘compass-normalize’

扩展:import-once作用:

若一个页面多次import一个相同文件,就只会插入一次。解决了sass多次引用就多次编译同一个文件的bug。

但是真的想多次引入时,可以在被引入的文件名字后边加入感叹号(!)告知compass这是多次引入

使用插件方法:直接import就可以:@import ‘normalize’

上边这种方法是直接把normalize整体的引入进来

若想要只引入部分模块,只要插件名/模块名就好了,

但是前边要多加一行@import ‘normalize-version’

例如:

 @import ‘normalize-version’
@import ‘normalize/html5’

2017-07-19 17:14:03

Compass(更新中。。。)的更多相关文章

  1. 在UPDATE中更新TOP条数据以及UPDATE更新中使用ORDER BY

    正常查询语句中TOP的运用: SELECT TOP 1000 * FROM MP_MemberGrade   随意更新一张表中满足条件的前N条数据: UPDATE TOP (1) MP_Member ...

  2. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  3. Atom使用记录(持续更新中)

    部分内容取自:http://www.jianshu.com/p/dd97cbb3c22d,我自己也在使用,持续更新中 Atom安装插件在窗口中File---Setting---install 在里面进 ...

  4. Pig基础学习【持续更新中】

    *本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...

  5. Pig语言基础-【持续更新中】

      ***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.***   Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的, ...

  6. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  7. 微软承诺将在今年的 Visual C++ 更新中加入 Clang 编译器

    微软最近发布将在2015年11月 Visual C++ 更新中加入 Clang 编译器 ,Clang 开源编译器以相比GCC更快的编译速度和更优的错误提示著称. Clang关于C,C++,及Objec ...

  8. 系列文章:老项目的#iPhone6与iPhone6Plus适配#(持续更新中,更新日期2014年10月12日 星期日 )

    本文永久地址为http://www.cnblogs.com/ChenYilong/p/4020399.html ,转载请注明出处. ********************************** ...

  9. 免费api大全(更新中)

    免费api大全(更新中) API大全  http://www.apidq.com/    (这个碉堡了) 天气接口 气象局接口 完整数据:http://m.weather.com.cn/data/10 ...

随机推荐

  1. NFS根文件系统

    按照以前文档可以正确制作根文件系统,并且开发板可正确nfs挂测主机目录. 现只需修改bootargs,使内核启动时挂测文件系统即可.setenv bootargs mem=64M console=tt ...

  2. kafkaStream解析json出错导致程序中断的解决方法

    出错在 KStreamFlatMapValues 方法执行时,由于json异常数据无法解析,结果生成的值为null,报错信息如下: 2018-04-18 19:21:04,776 ERROR [app ...

  3. Python:基本运算、基本函数(包括复数)、Math模块、NumPy模块

    基本运算 x**2 : x^2 若x是mat矩阵,那就表示x内每个元素求平方 inf:表示正无穷 逻辑运算符:and,or,not 字典的get方法 a.get(k,d) 1 1 get相当于一条if ...

  4. 第三百二十节,Django框架,生成二维码

    第三百二十节,Django框架,生成二维码 用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块 生成二维码保存图片在本地 import qr ...

  5. java---final、finally、finalize的区别

    Java finalize方法使用 标签: javaappletobjectwizardjvm工作 2011-08-21 11:37 48403人阅读 评论(5) 收藏 举报  分类: Java(96 ...

  6. RTC终于tm的通了

     ITDS(1316336566) 2014-1-16 10:34:36我们板子上用的是pcf8563默认没使用这个,用图形界面选择下这个完以后,在配置下就这两步骤ITDS(1316336566) 2 ...

  7. jquery -- checkbox选中无选中状态

    最近在工作中使用jquery操作checkbox,使用下面方法进行全选.反选: var ischecked=allCheckObj.is(':checked'); ischecked?checksOb ...

  8. MVC中用View.bag保存json字符串。在js中使用,不用ajax请求。。。。

    有时候我们只需要使用一次json数据,这时候直接在后台查出json,然后用view.bag传到前台使用,就会很方便..(在前台用ajax请求的话,感觉有点多余..) 上代码 后台: public Ac ...

  9. jquery-修改、回退结果集

    1.end()方法 使用end方法得到上一个结果集 2.addBack()方法 使用addBack()可以得到原结果集与当前结果的合集,也可传入选择器来过滤原结果集

  10. linux环境中查看主机型号(机器型号)

    需求说明: 今天一同事让统计测试环境主机型号,在此记录下. 操作过程: 1.通过dmidecode工具查询,产品型号(机器型号) [root@redhat6 ~]# dmidecode | grep ...