compass

Compass是一个强大的Sass框架,它的设计目标是顺畅、高效地装扮互联网,使用它的人可写出可维护性更高的样式表。
Compass 七大模块

Reset
Layout
CSS3
Helpers
Typography
Utilities
Browser

Compass 核心模块

Reset
Layout
@import "compass/reset"
@import "compass/layout"

Browser 模块:

Browser 用来配置compass默认支持哪些浏览器,对于特定浏览器,默认支持到哪个版本.
Browser 中的配置一旦修改,将影响其余6个模块的输出,因为需要针对不同的浏览器做不同的适配.

reset模块:

reset 是 compass 内置的,如果我们想修改为 normalize。
命令行使用 gem install compass-normalize
然后在 config.rb 配置文件中添加
require 'compass-normalize'
然后在 scss 文件中 @import "normalize";

layout 模块:

如果说 reset 模块是 compass 中使用起来最简单的模块,那么,layout 模块则是 compass 中使用率最低的模块。Layout 模块用来实现页面布局控制的。

CSS3模块:

如果说 Layout 模块是 compass 中使用率最低的模块,那么,CSS3 模块肯定是主动使用率最高的模块。
CSS3 模块主要用于提供跨浏览器的 CSS3 能力。

Typography 模块:

Typography 模块主要用来修饰文本样式、垂直韵律等(Links、Lists、Text、Vertical Rhythm)

Utilities 模块:

Utilities 模块是辅助工具类函数

helpers 模块:

helpers 类里面多是函数,utilities 里面多是 mixin,包含:

Color : 颜色相关的工具集合
Print : 打印控制的集合
Tables : table样式相关的集合(table model)
Geeneral : 通用的一般类的工具(跨浏览器的清除浮动)
Sprites : 精灵图合图相关的工具集合(重点)

1.创建一个Compass项目

确保电脑已经安装Ruby环境,并且安装了Sass和Compass

compass create sample

2.compass命令

compass编译。
进入项目根目录:

cd  sample

执行编译

compass compile

编译输出格式:

--output-style compressed 输出压缩格式

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

compass compile --force

除了使用命令行参数,还可以在配置文件config.rb中指定编译模式。

output_style = :expanded

config.rb的配置文件可以这样设置,可以通过指定environment的值(:production或者:development),智能判断编译模式。

# environment = :development
environment = :production
output_style = (environment == :production) ? :compressed : :expanded

监听命令:

compass watch

3.使用Compass解决真实的CSS问题

1)样式重置

@import "compass/reset"

通过Sass引入命令@import引入Compass的重置模块;
reset模块是Compass框架中独立的一部分,可被随意引用到项目中;
通过加入这行代码,生成的CSS文件中就会包含CSS重置部分的代码;

@include reset-html5

输出文件中会生成额外的CSS规则来对HTML5的元素进行基本的样式修改,

2)引入基本布局--Blueprint网格布局

compass create my_grid --using blueprint
@include column($sidebar-columns);

3)通过表格辅助器为表格添加更加专业的斑马条纹样式

@import "compass/utilities/tables";
table {
    $table-color:#666;                   // 定义变量;
    @include table-scaffolding;      // 引入混合器;提供最基本的样式修饰;
    @include inner-table-borders(1px, darken($table-color,40%));// 添加单元格边框;
    @include outer-table-borders(2px);       // 添加表格边框;
    @include alternating-rows-and-columns($table-color,adjust-hue($table-color,-120deg),#222);  // 添加斑马条纹样式;
}

4)CSS3前缀支持

@import "compass/css3"
Sass:
    .rounded {
        @include border-radius(5px);
    }
CSS:
    .rounded {
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
        -o-border-radius: 5px;
        -ms-border-radius: 5px;
        border-radius: 5px;
    }

你可能感兴趣的:(compass)