/*基础语法*/
h1{
color: red;
}

/*变量定义*/

$color: red;

/*嵌套*/
body{
header{

}
footer{

}
}

/*mixin函数*/
@mixin alert($color: blue){
color: $color;
}

/*继承*/
.blcok{
width: 100px;
height: 100px;
color: #f00;
}
p{
.block;
}

/*1)创建工程:1、使用sass创建;2、使用compass创建【compass create hello(工程名)】
创建成功后会有两个文件夹:
1、.sass-cache
2、hello(包含三个文件夹(.sass-cache、sass、stylesheets)和config.rb文件)

*/
/*2)使用命令行编译sass(将sass文件(如demo.scss)编译成为css文件)

1、在要编译的sass文件的目录下的地址栏输入“cmd”即可进入该sass文件所在目录
2、格式:sass demo.scss demo.css 回车即可
3、输出风格:nested(后大括号在最后一个样式的末尾)、
expanded(后大括号另起一行,跟平常一样)、
compact(一个选择器的样式占据一行)、
compressed(压缩过后的格式,去掉注释等)
4、watch监视,只要有改动就会自动编译到css文件
格式:sass --watch demo.scss:demo.css (监听一个文件)
格式:sass --watch sass:stylesheets (监听整个文件夹)
*/

/*3)compass编译:需要在sass工程(hello)的目录下输入cmd进入命令后台;
1、格式:compass compile (此命令只编译有改动的sass文件,监听后才看得出来效果)
2、若要强制编译所有的sass文件则使用命令:compass compile --force
3、格式:compass watch(监听)
4、输出风格:nested(后大括号在最后一个样式的末尾)、
expanded(后大括号另起一行,跟平常一样)、
compact(一个选择器的样式占据一行)、
compressed(压缩过后的格式,去掉注释等)
*/

/*4)输出风格格式:
comprass compile --force -s compressed
-s:outputstyle-tyle的缩写
*/

/*注意:运行编译命令后看到有write........时表示命令书写成功*/

/*5)理解config.rb文件
1、该文件定义了各种文件的路径:
http_path = "/"
css_dir = "stylesheets"
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "javascripts"

2、可设置输出风格:
output_style = :expanded # or :nested or :compact or :compressed
其中expanded为常用风格

自定义控制输出风格的常用方式:
environment = :development
output_style =(environment==:development) ? :expanded : :compressed
*/

/*6)sass的注释
1、单行注释 //:不会生成到css文件中
2、多行注释(标准的css多行注释):会被编译到css文件中
3、当我们使用的是多行注释,又将其输出格式为压缩后的css文件
就会去掉注释,要让其输出为压缩格式依然含有注释的话需要在注释内部最前面加上叹号。
步骤:
environment = :production(将环境的初始值改为production则输出格式将为压缩式,在算式“output_style =(environment==:development) ? :expanded : :compressed”中取了冒号后面的值)
命令行输入:compass watch --environment production 回车
compass watch

4、中文注释
在安装目录下D:\Ruby23-x64\lib\ruby\gems\2.3.0\gems\sass-3.4.25\lib\sass 找到
engine.rb文件,打开文件后在require之后加上代码:
Encoding.default_external = Encoding.find('utf-8')即可。
注意:sass -v命令查出的sass版本号不一定就是要找的文件夹,也有可能是其他的,
我的sass -v查出的版本号是3.7.3,在安装目录下就有该文件夹,改了里面的engine.rb文件
后中文依然没有编译通过;最终改了sass-3.4.25文件夹下的文件编译才通过。
*/

sass基础—具体编译步骤及对应命令:详细的更多相关文章

  1. Sass 基础教程

    0. Sass 文件后缀名 sass 有两种后缀名文件:一种后缀名为 sass,不使用大括号和分号:另一种就是我们这里使用的 scss 文件,这种和我们平时写的 css 文件格式差不多,使用大括号和分 ...

  2. sass基础编写流程

    这是之前整理在word上的基础流程 sass是Ruby语言开发的一个用于动态编程css文件的框架 所以sass的运行依赖Ruby环境 所以要先安装Ruby 参见详细教程(安装参照慕课网有详细的教程) ...

  3. [转]前端利器:SASS基础与Compass入门

    [转]前端利器:SASS基础与Compass入门 SASS是Syntactically Awesome Stylesheete Sass的缩写,它是css的一个开发工具,提供了很多便利和简单的语法,让 ...

  4. Nodejs+Grunt配置SASS项目自动编译

    Nodejs+Grunt配置SASS项目自动编译 早前听说Nodejs和Grunt很强大,特别是用来构建自动化的前端开发,更是强大无比.但一直碍于自己掌握的技术有限,不敢深入,也未曾深入下去.最近在开 ...

  5. sass基础学习(一)

    移动端布局各种问题 pc端布局各种问题sass 组件模块化面向对象编程ajax 框架学习 webpack 打包 性能优化 gulp是基于Nodejs的自动任务运行器她能自动化地完成 javascrip ...

  6. Linux-编译器gcc/g++编译步骤

    gcc和g++现在是gnu中最主要和最流行的c&c++编译器.g++是c++的命令,以.cpp为主:对于c语言后缀名一般为.c,这时候命令换做gcc即可.编译器是根据gcc还是g++来确定是按 ...

  7. sass笔记-2|Sass基础语法之让样式表更具条理性和可读性

    这一篇主要详述保持sass条理性和可读性的3个最基本方法--嵌套.导入和注释. 零. 变量 变量本身的作用是为了保持属性值的可维护性,把所有需要维护的属性值放在同一个地方,快速更改,处处生效,可谓售后 ...

  8. sass基础学习

    2015.6.281.安装ruby2.运行gem安装sass-->gem install sass3.编译命令行sass --watch 文件路径/test.scss:编译后文件路径/test. ...

  9. zlib库VS2015编译步骤

    [点击这里下载zlib1.2.8源码](http://zlib.net/zlib128.zip) [点击这里下载zlib1.2.8编译动态库](http://zlib.net/zlib128-dll. ...

随机推荐

  1. Linux常用命令(二)查找当前ip地址

    查询当地ip地址(没错就是这么短): /sbin/ifconfig

  2. nmap 使用总结

    nmap 网络探测工具 参考链接: https://nmap.org/man/zh/ http://www.360doc.com/content/18/0127/18/52402560_7255744 ...

  3. TensorFlow架构学习

    0 - TensorFlow 基于数据流图,节点表示某种抽象计算,边表示节点之间联系的张量. Tensorflow结构灵活,能够支持各种网络模型,有良好的通用性和扩展性. 1 - 系统概述 Tenso ...

  4. JedisCluster

    字符串 setex(key, seconds, value):带过期时间 mset(keysvalues.....):批量操作,是一个原子性(atomic)操作,所有给定key会在同一时间内被设置 h ...

  5. ssh连接报错server responded”algorithm negotiation failed”

    ssh工具版本太低,OpenSSL版本升的比较高,有些算法不支持. 解决方法: 1.修改ssh的配置文件 /etc/ssh/sshd_config cd /etc/sshvi /etc/ssh/ssh ...

  6. openstack Q版部署-----网络服务(neutron)安装部署(7)

    一.数据库配置(控制节点) 控制节点创建数据库: CREATE DATABASE neutron; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'lo ...

  7. 数组转集合、集合转数组、字符串数组与int型、long型数组等的转换

    在项目中经常会遇到数组转集合.集合转数组.数组之间类型转换等操作 1.数组转集合 为了实现把一个数组转换成一个ArrayList,很多Java程序员会使用如下的代码: String str[] = { ...

  8. string.Empty, "" 和 null 三者的区别

    转载:http://www.cnblogs.com/mxxblog/archive/2013/08/22/3275387.html 这是一个及其常见的问题,网上已经有关于这个问题的很多讨论.但是我觉得 ...

  9. Python笔记 【无序】 【四】

    魔法方法1.__xx__  总是被双下划线包围2.面向对象python的一切 3.能够在适当的时候自动被调用     构造和析构 __init__(self,……) -----相当于构造方法,类在实例 ...

  10. JS中的!=、== 、!==、===的用法和区别

    var num = 1; var str = '1'; var test = 1; test == num //true 相同类型 相同值 test === num //true 相同类型 相同值 t ...