1、compass官网:compass-style.org

compass是一个开源的书写框架

正确安装完ruby之后,使用gem install compass安装

1、compass create learn-compass-init:通过compass直接创建一个compass框架项目

2、@import “compass/reset”:compass 内置浏览器重置样式模块

2、补充部分:

@import “compass/reset”的设计思路:reset把对样式的重置封装成了一个又一个的mixin,通过@import "compass/reset/utilities"来引入这些mixin的集合,然后经过调用其中的一个global-reset的mixin来达到和reset一样的重置效果。

简单来说:

@import "compass/reset";等价于

@import "compass/reset/utilities";

@include global-reset;

详情见compass官网http://compass-style.org/reference/compass/reset/utilities/

3、指令部分:

(1)compass watch监听代码变化自动编译到CSS文件

(2)compass compile编译

(3)ompass interactive:进入console状态,调用browsers() ,可以看目前考虑的兼容哪些浏览器

(4)调用browser-versions(chrome):括号里面传浏览器名字,可以看目前支持的浏览器版本。

(5)compass compile -e production --force

compass默认是development开发模式,这里的指令是将强制覆盖掉开发模式,采用上线模式,由scss文件编译生成的css文件中不在出现调试注释。

上面的DEBUG调试语句是由于在SCSS文件中写了@debug compass-env();

(6) compass compile:进入到项目根目录下运行该命令,该命令会将sass子目录中的scss文件,编译成css文件,保存在stylesheets子目录中。

(7) compass compile --force:Compass只编译发生变动的文件,如果你要重新编译未变动的文件,需要使用–force参数。

4、compass核心模块:http://compass-style.org/reference/compass/layout/

1、Reset模块:浏览器样式重置模块,用来减少不同浏览器之间的差异性。

2、Layout模块:提供页面布局的控制能力,比如,将一个容器中的子元素横向拉伸占满,纵向拉伸占满。

注意:这两个模块均需要单独引入,引入方式如上图。

3、CSS3模块:主要用来提供跨浏览器的CSS3能力。

4、Helpers模块:内含一系列函数,与sass函数列表很像,功能比较强大,不过较少用到。

5、Typography模块:主要用来修饰文本样式。

6、Utilities模块:辅助工具类模块,多是mixin

7、browser模块:用来配置compass默认支持哪些浏览器,对于特定浏览器支持到那个版本,该模块的配置一旦修改将会影响其余六个模块的输出。

4.1使用normalize替换掉compass的reset模块,

(1)在normalize官网,http://necolas.github.io/normalize.css/上Download最新版本,然后放到自己的项目目录,通过import引用

(2)使用包管理工具,npm install normalize.css

(3)使用compass的normalize的插件 使用命令行指令“gem install compass-normalize”

这里使用第三种方式:

1.在config.rb中引用插件 require 'compass-normalize'

扩展:

<1>require 'compass/import-once/activate'用来设置,在不同代码位置,重复引用时只需一次即可,避免代码冗余。实在需要重复引用时加上“!”即可,如 @import "compass/reset"   xxxxxx "@import "compass/reset!"

<2>config.rb文件中output_style=“expanded or nested compact compressed”:用来设定编译成CSS后代码风格

其中使用compress压缩上线时,会去除掉里面的所有注释,那么可以在注释的最前面加上“!”,避免注释被压缩掉/*!xxxxx*/

4.2Normalize核心模块(八大模块)

1.base模块:用来统一HTML,body 标签的字体,文字大小,边距等。

2.html5模块:用来统一html中新增的元素,如article,aside等。

3.links模块:统一a标签的修饰,去掉hover和active时的边线

4.typography模块:b,strong,everyone,sub下标,sup上标等段落文本修饰

5.Embedded模块:用来统一img,svg

6.Figures:figure,pre,code等

7.Forms:button ,input,select,textarea,optgroup

8.Tables:table,td,th

5、compass的layout模块(使用率最低的一个模块)

其中包括三个小mixin,具体的看官方文本

举例如下:

scss文件:.strech-full{@include stretch;
}
.strech-x{@include stretch-x;
}编译之后:.strech-full {position: absolute;top: 0;bottom: 0;left: 0;right: 0;
}/* line 69, ../sass/screen.scss */
.strech-x {position: absolute;left: 0;right: 0;
}

6、compass的CSS3模块(使用率最高的一个模块)

http://compass-style.org/reference/compass/css3/

7.compass的helpers模块

Compass Selector Helpers下的的叠加选择器

append-selector($selector, $to-append)

This helper function appends any selector with some string. No space or punctuation is added when appending. The selector can be a comma-delimited list of selectors.

append-selector(".foo", ".bar").foo.barappend-selector("p, div, span", ".bar")p.bar, div.bar, span.bar

举例:

/*注意参数个数的不同及书写格式*/
#{append-selector("p,div,span",".bar")}{color:#000;
}
#{nest("p,div,span",".bar")}{color:#000;
}

编译出来的结果:

/*注意参数个数的不同,嵌套和叠加的空格区别及书写格式*/
/* line 106, ../sass/screen.scss */
p.bar, div.bar, span.bar {color: #000;
}/* line 109, ../sass/screen.scss */
p .bar, div .bar, span .bar {color: #000;
}

compass的安装及使用,以及常见命令行指令与注意事项、Compass核心模块相关推荐

  1. yum安装与卸载软件常见命令

    1.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yuminstall ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突 ...

  2. linux添加磁盘后进入grub,从硬盘安装 Linux 和从 GRUB 命令行启动操作系统

    标题 +=================================================+ |  从硬盘安装 Linux 和从 GRUB 命令行启动操作系统  | +======== ...

  3. 安装完Hadoop之后,命令行输入hadoop或hdfs却找不到命令的解决方法

    安装完Hadoop之后,命令行输入hadoop或hdfs却找不到命令的解决方法 参考文章: (1)安装完Hadoop之后,命令行输入hadoop或hdfs却找不到命令的解决方法 (2)https:// ...

  4. 已安装Anaconda情况下,命令行pip,python报错(详细 已解决)

    已安装Anaconda情况下,命令行pip,python报错(已解决) 这是报错截图 解决方案如下: 1.首先可以去找到anaconda文件夹,并打开该文件目录下的Script文件夹,查看是否有pip ...

  5. Ubuntu安装GVM-11并使用gvm-tools命令行方式通讯

    Ubuntu安装GVM-11并使用gvm-tools命令行方式通讯 很感谢这位大哥提供的帮助:[https://www.cnblogs.com/blueyunchao0618/p/11475339.h ...

  6. 安装时提示用户在命令行上发出了EULAS_AGREED=1,表示不接受许可协议

    安装虚拟机安装不上,换了好几个版本,有的版本显示"安装时提示用户在命令行上发出了EULAS_AGREED=1,表示不接受许可协议",有的版本显示不访问网络位置信息. 以上出现的原因 ...

  7. linux 从命令行启动,硬盘安装Linux和从Grub命令行启动操作系统

    发信人: (飞象过河), 信区: Linux 标 题: 硬盘安装Linux和从Grub命令行启动操作系统 发信站: 瀚海星云 (2004年10月18日22:44:09 星期一), 站内信件 标题 += ...

  8. 安装Linux系统时卡在命令行了,从硬盘安装Linux和从Grub命令行启动操作系统

    从硬盘安装Linux和从Grub命令行启动操作系统 发表于:2007-07-04来源:作者:点击数: 标签: 内容简介 ---------------------------------------- ...

  9. 数据仓库 — 07_Kafka的安装与部署(Kafka命令行操作指令、Kafka集群群起脚本、压力测试、节点数量计算、hadoop_zookeeper_flume_kafka群起脚本、默认端口总结)

    文章目录 1 Kafka的安装与配置 2 Kafka命令行操作 2.1 查看当前服务器中的所有topic 2.2 创建topic 2.3 删除topic 2.4 发送消息 2.5 消费消息 2.6 查 ...

  10. 第四篇:ROS常用命令行指令【重点】

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.常用的ROS命令行指令 1.系统类指令 2.启动类指令 3.节点 ...

最新文章

  1. Tensorflow2.6更新cuda11.2
  2. VM安装失败 Failed to create the requested registry key Key:installer Error:1021
  3. python strip_Python strip()方法
  4. Spring Boot(5) web开发(3)拦截器、文件上传、异常处理
  5. matlab 频域采样定理,信号时域和频域采样函数周期性与原信号的关系
  6. supersu二进制更新安装失败_supersu 二进制更新解决方法
  7. python期末考试是怎么考的_python期末考试复习
  8. Spring-framework 5.1.8 中文版文档(Google翻译)- 001
  9. 关于微服务的三个厄运问题
  10. redis主从结构 主从从
  11. 优课联盟 实境英语Test for Unit 2
  12. 【UEFI基础】UEFI网络框架之概述
  13. C语言程序设计-翁恺(初学者日记)
  14. word文档生成目录的方法,word生成目录之后怎么修改页码
  15. GD32F307 DAC 输出波形
  16. QtSpeech会让Qt说话
  17. 【数据仓库】现代数据仓库坏了吗?
  18. C/C++实现多个数的拼接(组合)成最大数字
  19. Java JDK 1.8 新特性 Stream流
  20. 败光370亿后,聚美优品踏上新的不归路?

热门文章

  1. 正态分布概率函数积分推导伽马函数性质
  2. 如何将两张图片合成一张?
  3. IP是什么?动态IP和静态IP有什么区别?
  4. 发现了个神奇的图片压缩工具
  5. torch.cat()函数用法
  6. C语言 逻辑运算符与逻辑表达式
  7. 硬件之家|钽电容的详细介绍与电路应用
  8. C#保存excel文件时提示文件格式与扩展名不匹配
  9. 利用US-100超声波传感器测距的核心代码
  10. 【转】PHP缓存的实现