scss和css区别

html-css017

scss和css区别,第1张

SCSS 之类的预处理器本身就是为了生成 CSS 而设计的。它的优势在于开发效率高。对于一些样式复杂的站点,用 SASS 之类的工具生成代码比手写 CSS 快得多。但是 SASS 不是为了取代 CSS 而生的,它是为了服务 CSS 而生。或者类比一下,机器不能直接执行 C,它执行的是编译后的机器码。浏览器也不能直接渲染 SCSS,它渲染的是编译出来的 CSS。不过 SCSS 与 CSS 的关系和@郑诚所说的「jquery永远不可能取代javascript」有一点区别。 jQuery 是一个 JavaScript 的库而非生成 JavaScript 的工具,它是用 JavaScript 开发出来的;而 CSS 是标记语言。CSS 的一些框架如 lessframework 或者 normalize,它们之于 CSS 的关系更像 jQuery 之于 JavaScript。

Ruby安装

由于sass依赖于ruby环境,所以在安装sass之前必须安装ruby。可以去官网下载一个。网络环境不好的,可以用我提供的这个文件:点击下载

安装完成后可以在开始菜单找到ruby命令行,打开输入ruby -v查看版本号,出现版本信息则安装成功

clipboard.png-6.6kB

QQ截图20160917210342.png-1.6kB

Sass安装

安装完ruby后,可以直接在命令行里面输入gem install sass安装Sass,不过由于墙的厉害,建议使用淘宝的ruby源来安装,步骤如下:

gem sources --remove https://rubygems.org/

https://rubygems.org/ removed from sources

gem sources -a https://ruby.taobao.org/

https://ruby.taobao.org/ added to sources

这一步有可能会出错,windows下证书无法验证。

解决方法:下载证书(右键另存为即可),放到ruby安装目录下,然后再设置环境变量SSL_CERT_FILE为该文件路径,再重新输入该命令

QQ截图20160917211759.png-8.6kB

gem source -l

*** CURRENT SOURCES ***

https://ruby.taobao.org/

gem install sass

Fetching: sass-3.4.13.gem (100%)

Successfully installed sass-3.4.13

Parsing documentation for sass-3.4.13

Installing ri documentation for sass-3.4.13

Done installing documentation for sass after 12 seconds

1 gem installed

//如果你在安装时出现如下提示,则表明网络不佳或源没有切换到 ruby.taobao.org

ERROR: Could not find a valid gem 'sass' (>= 0), here is why:

Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (

https://api.rubygems.org/latest_specs.4.8.gz)

sass -v

Sass 3.4.13 (Selective Steve)

到此,所有的安装都结束了。接下来我们就可以直接编译sass文件了

Sass编译

打开ruby命令行,切换到scss文件所在目录,执行sass style.scss style.css,就可以将style.scss文件编译成style.css文件

Sass 是对 CSS 的扩展,让 CSS 语言更强大、优雅。 它允许你使用 变量 、 嵌套规则 、 mixins 、 导入 等众多功能, 并且完全兼容 CSS 语法。 Sass 有助于保持大型样式表结构良好, 同时也让你能够快速开始小型项目, 特别是在搭配 Compass 样式库 一同使用时。

第一步安装 Sass gem:

如果你使用的是 Windows, 就需要先 安装 Ruby 。

如果要在命令行中运行 Sass ,只要输入

你还可以命令 Sass 监视文件的改动并更新 CSS :

如果你的目录里有很多 Sass 文件,你还可以命令 Sass 监视整个目录:

使用 sass --help 可以列出完整的帮助文档。

SASS提供四个 编译风格 的选项:

生产环境当中,一般使用最后一个选项。

SASS的官方网站,提供了一个 在线转换器 。可以进行练习。

SASS允许使用变量

SassScript 还支持所有其他 CSS 属性值类型, 例如 Unicode 范围和 !important 声明。 然而,它不会对这些类型做特殊处理。 它们只会被当做不带引号的字符串看待。

编译后

如果变量需要镶嵌在字符串之中,就必须需要写在#{}之中。

支持数字的标准运算(加 +、减 -、乘 *、除 /和取模 %),数字也支持关系运算(<、>、<=、>=), 等式运算(==、!=)被所有数据类型支持。

编译后

所有算数运算都支持颜色值, 并且是分段运算的。 也就是说,红、绿、蓝各颜色分量会单独进行运算。 例如:

编译后

编译后

编译后

Mixins允许您定义可以在整个样式表中重新使用的样式

编译后

编译后

编译后

完整的案例: https://github.com/xiedajian/jsGrocery/blob/master/Sass%2CScss-demo/index.scss

编译后: https://github.com/xiedajian/jsGrocery/blob/master/Sass%2CScss-demo/index.css

参考:

阮一峰老师的SASS用法指南

SASS官方参考手册