一、什么是Compass?

Compass是Sass的工具库,Compass在SASS的基础上,封装了一系列有用的模块去补充Sass的功能,类似Javascript和jQuery

二、安装

之前已经写过文章讲了sass、compass的安装,地址:http://www.cnblogs.com/laayoune/p/4105105.html

三、创建项目

在Ruby的命令行中输入

compass create myproject

会在当前目录下创建一个myproject的目录,myproject也可以是一个路径参数

上面是创建的目录结构,下面是告诉你在html中的引用

config.rb是配置文件

上面的是css、sass、image、js的存放目录

最后是使用sass语法缩进

可以通过修改该文件进行项目配置,也可以在使用用compass create命令时进行配置:

--bare (不包含默认样式表进行安装);
--syntax sass (在默认样式表中使用缩进语法);
--sass-dir "cool" (使用'cool'目录存放Sass文件);
--css-dir "style" (使用'style'目录存放CSS文件);
--images-dir "img" (使用'img'目录存放图片);
--fonts-dir "type" (使用'type'目录存放字体文件);
--javascripts-dir "js" (使用'js'目录存放JavaScript文件)。

如:compass create myproject --sass-dir "cool" --css-dir "style"

四、项目编译

编译命令:compass compile

该命令在项目根目录下运行,会将sass子目录中的scss文件,编译成css文件,保存在config.rb配置的css-dir对应的目录中。

默认状态下,编译出来的css文件带有大量的注释。但是,生产环境需要压缩后的css文件,这时要使用--output-style参数。

compass compile --output-style compressed

Compass只编译发生变动的文件,如果你要重新编译未变动的文件,需要使用–force参数

compass compile –force

每次都要进行编译太麻烦,可以自动检测,只要sass文件夹发生变化(修改、增加文件),scss文件就会被自动编译成css文件。

compass watch

一些其他的命令

compass init——为一个已经存在的项目(Rails)添加compass;
compass clean——移除生成的文件和缓存;
compass stats——查看样式表的统计数据;
compass unpack <extension>——解压扩展到你的项目;
compass validate——验证你生成的CSS文件;
compass version——显示版本、许可证,等等;
compass interactive——进入一个用于测试Compass中SassScript的控制台。

compass help <具体命令>——获得帮助/具体命令的详细描述

五、Compass模块

Compass采用模块结构,不同模块提供不同的功能

1、reset

@import "compass/reset";   //reset模块,重置浏览器的默认样式

有时不需要进行全局的样式重置,可以单独重置某一块

reset-html5                  HTML5样式重置

reset-box-model           移除元素的内外边距和边框
reset-font                    重置文字的字号和基线
reset-focus                  移除浏览器提供的轮廓线(比如Safari给<input>元素加上的那一圈线)
reset-table 和 reset-table-cell              重置表格的边框和对齐方式
reset-quotation                                 为<blockquotes>添加仅存在于样式表中的双引号

用法:

@import "compass/reset/utilities";

@include reset-html5;

2、layout

@import "compass/layout";

如:

@include sticky-footer(54px);   //页脚54px高,始终位于页面底部

3、CSS3

提供CSS3命令,常用的如圆角等

@import "compass/css3";

使用时:

@include border-radius(5px);

4、typography

该模块提供版式功能

@import "compass/typography";

如:链接颜色

link-colors($normal, $hover, $active, $visited, $focus)

5、utilities

提供某些不属于其他模块的功能,如reset中引入的混合器就包含在utilities中

@import "compass/utilities/";

如:清除浮动

@include clearfix;

六、Helper函数

Compass还提供一系列函数,如:

image-width($image)、cos($number)

有关compass的所有相关模块和函数,可以查看http://compass.aether.ru/,里面有详细的用法讲解和例子

Compass用法的更多相关文章

  1. Compass用法指南

    Compass用法指南   Sass是一种"CSS预处理器",可以让CSS的开发变得简单和可维护.但是,只有搭配Compass,它才能显出真正的威力. 本文介绍Compass的用法 ...

  2. sass,compass学习笔记总结

    最近在进行百度前端技术学院的任务,知道自己基础薄弱,可没想到弱到这种地步,同时在安装各种软件的同时遇到了各种坑,查阅了各种资料,一个个解决的时候也发现自己凌乱了.学习总结,在脑海中形成自己的学习系统才 ...

  3. Sass使用教程

    sass官网: http://sass-lang.com/ http://sass-lang.com/documentation/file.SASS_REFERENCE.html Sass和Scss的 ...

  4. 20190421-那些年使用过的CSS预处理器(CSS Preprocessor)之Sass and Less

    写在前面乱七八糟的前言: emmm,还是决定把Sass与Less单独出来写成一篇,可能会稍微好辣么一丢丢?TAT语法特性是真的香,通篇下来能吸收个10%自我感觉已经很nice了,毕竟渣渣的我有渣渣的自 ...

  5. compass框架的sprite雪碧图的用法简要

    ---恢复内容开始--- **简介** CSS SPRITE 即 CSS雪碧,即是将诸多图片合成一张图片,然后使用CSS 的background和background-position属性渲染. 这样 ...

  6. 揭开Sass和Compass的神秘面纱

    揭开Sass和Compass的神秘面纱 可能之前你像我一样,对Sass和Compass毫无所知,好一点儿的可能知道它们是用来作为CSS预处理的.那么,今天请跟我一起学习下Sass和Compass的一些 ...

  7. compass和sass很好的两篇文章

    Sass是一种"CSS预处理器",可以让CSS的开发变得简单和可维护.但是,只有搭配Compass,它才能显出真正的威力. 本文介绍Compass的用法.毫不夸张地说,学会了Com ...

  8. Android pm命令用法

    Sam综观有关PackageManager时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下. 这个命令与Package有关.且很有用.所以研究之. 0. Usage ...

  9. compass scss blueprint

    [转载] 今天在执行compass create my-grid –using blueprint 命令时发现报错 google了一下,说是新版compass已经不包括compass-bluprint ...

随机推荐

  1. jQuery拖拽 & 弹出层

    了解更多请查看 官网 和 API iDrag & iDialog 介绍 特点: iDialog.js依赖于jquery编写的简单易用的对话框,同时还可以通过添加css3,改变对话框的展现动画. ...

  2. UOJ#179. 线性规划[模板]

    传送门 http://uoj.ac/problem/179 震惊,博主竟然还不会线性规划! 单纯形实在学不会啊……背个板子当黑盒用…… 学(chao)了NanoApe dalao的板子 #includ ...

  3. 炒鸡简单的canvas粒子(山东数漫江湖)

    位图的canvas一直不会被svg比下去的原因了. 俗话说,须弥芥子,是大小之说,也有以小见大之说,颗颗粒子,足以构建宏大效果. 这是一篇炒鸡简单的canvas粒子教程,主要是讲如何粒子特效的原理,一 ...

  4. Watchcow(POJ2230+双向欧拉回路+打印路径)

    题目链接:http://poj.org/problem?id=2230 题目: 题意:给你m条路径,求一条路径使得从1出发最后回到1,并满足每条路径都恰好被沿着正反两个方向经过一次. 思路:由于可以回 ...

  5. csc_滤镜filter和实现透明的两种方式

    有这样一个需求,给一个地图实现半透明效果. 使用css滤镜属性可以实现:filter. 下面是属性的所以值 filter: none | blur() | brightness() | contras ...

  6. Kill windows和linux 进程

    Windows

  7. LeetCode 20 Generate Parentheses

    Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...

  8. thread_info&内核栈

    转载:http://blog.chinaunix.net/uid-22548820-id-2125152.html 之所以将thread_info结构称之为小型的进程描述符,是因为在这个结构中并没有直 ...

  9. monkey测试===monkeyrunner测试教程(1)

    1.安装测试环境 jdk 安装与配置 android sdk安装与配置 Python编辑器安装与配置 以上安装请自行百度教程 Monkeyrunner使用方法 http://www.android-d ...

  10. idea+spring+springmvc+mybatis+mybatis+maven

    使用SSM(Spring,SpringMVC和Mybatis) 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johns ...