compass的安装及使用,以及常见命令行指令与注意事项、Compass核心模块
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核心模块相关推荐
- yum安装与卸载软件常见命令
1.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yuminstall ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突 ...
- linux添加磁盘后进入grub,从硬盘安装 Linux 和从 GRUB 命令行启动操作系统
标题 +=================================================+ | 从硬盘安装 Linux 和从 GRUB 命令行启动操作系统 | +======== ...
- 安装完Hadoop之后,命令行输入hadoop或hdfs却找不到命令的解决方法
安装完Hadoop之后,命令行输入hadoop或hdfs却找不到命令的解决方法 参考文章: (1)安装完Hadoop之后,命令行输入hadoop或hdfs却找不到命令的解决方法 (2)https:// ...
- 已安装Anaconda情况下,命令行pip,python报错(详细 已解决)
已安装Anaconda情况下,命令行pip,python报错(已解决) 这是报错截图 解决方案如下: 1.首先可以去找到anaconda文件夹,并打开该文件目录下的Script文件夹,查看是否有pip ...
- Ubuntu安装GVM-11并使用gvm-tools命令行方式通讯
Ubuntu安装GVM-11并使用gvm-tools命令行方式通讯 很感谢这位大哥提供的帮助:[https://www.cnblogs.com/blueyunchao0618/p/11475339.h ...
- 安装时提示用户在命令行上发出了EULAS_AGREED=1,表示不接受许可协议
安装虚拟机安装不上,换了好几个版本,有的版本显示"安装时提示用户在命令行上发出了EULAS_AGREED=1,表示不接受许可协议",有的版本显示不访问网络位置信息. 以上出现的原因 ...
- linux 从命令行启动,硬盘安装Linux和从Grub命令行启动操作系统
发信人: (飞象过河), 信区: Linux 标 题: 硬盘安装Linux和从Grub命令行启动操作系统 发信站: 瀚海星云 (2004年10月18日22:44:09 星期一), 站内信件 标题 += ...
- 安装Linux系统时卡在命令行了,从硬盘安装Linux和从Grub命令行启动操作系统
从硬盘安装Linux和从Grub命令行启动操作系统 发表于:2007-07-04来源:作者:点击数: 标签: 内容简介 ---------------------------------------- ...
- 数据仓库 — 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 查 ...
- 第四篇:ROS常用命令行指令【重点】
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.常用的ROS命令行指令 1.系统类指令 2.启动类指令 3.节点 ...
最新文章
- Tensorflow2.6更新cuda11.2
- VM安装失败 Failed to create the requested registry key Key:installer Error:1021
- python strip_Python strip()方法
- Spring Boot(5) web开发(3)拦截器、文件上传、异常处理
- matlab 频域采样定理,信号时域和频域采样函数周期性与原信号的关系
- supersu二进制更新安装失败_supersu 二进制更新解决方法
- python期末考试是怎么考的_python期末考试复习
- Spring-framework 5.1.8 中文版文档(Google翻译)- 001
- 关于微服务的三个厄运问题
- redis主从结构 主从从
- 优课联盟 实境英语Test for Unit 2
- 【UEFI基础】UEFI网络框架之概述
- C语言程序设计-翁恺(初学者日记)
- word文档生成目录的方法,word生成目录之后怎么修改页码
- GD32F307 DAC 输出波形
- QtSpeech会让Qt说话
- 【数据仓库】现代数据仓库坏了吗?
- C/C++实现多个数的拼接(组合)成最大数字
- Java JDK 1.8 新特性 Stream流
- 败光370亿后,聚美优品踏上新的不归路?