Sass(1)--- 了解Sass的发展
1, Sass 其实是一门编程语言,用来书写css, 它对变量的声明,注释等作出了一系列的规定。 其实Sass写出的文件为SCSS, 它还需要编译成真正的css,供浏览器使用。
2, Sass 的编译
Sass起初是用ruby 写的,也就是说,它只能ruby 环境下运行, 就像我们写java 代码一样,必须安装java的运行环境,它才能跑起来。书写sass, 首先要安装ruby, 然后对它进行编译。 后来出现了LibSass, 它是用c/c++ 写的sass 引擎, 用它对sass 语言进行编译,生成css,就像java 编译生成class文件一样,Libsass 对 sass 进行编译, 生成css文件。 由于它是用 c/c++ 写的,所以实现了真正的跨平台,可以运行在任何环境下(java, .net , node等等)。
3, LibSass的使用
LibSass只是一个核心库,在不同的环境下使用,还需要一个包装器来调用这个库。现代web 项目的开发,都用到构建工具( webpack, gulp),它们都是在node 环境下使用, 所以我们只需要了解node 环境下LibSass的包装器,它就是node-sass.
在使用gulp 构建工具时,如果对sass文件编译成css 文件,就需要引入gulp-sass 插件,npm install gulp-sass –save-dev 时,你会发现,它同是安装上了node-sass.
如果用wepack 进行打包时,更为直接,需要同时安装sass-loader, node-sass. Npm install sass-loader node-sass –save-dev.
这也证明了在node 环境下,是通过node-sass 来调用 LibSass 实现对sass文件进行编译。
4, sass 是一门语言,就像js 一样, 它有版本3.5 ,4.0 等, liabSass 作为编译器,它也有自己支持的语法, 就像浏览器中的js引擎并不能全部实现ECMAScript 所定义的语法一样。但是我们经常用到的变量声明,混合宏等,肯定都支持,我们直接用就可以了。
Sass(1)--- 了解Sass的发展的更多相关文章
- 学习Sass之安装Sass(一)
为什么使用Sass 作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE.JS而成为目前前后端统一开 ...
- 学习Sass之安装Sass
学习Sass之安装Sass 为什么使用Sass 作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE ...
- Sass环境安装-Sass sublime 编辑器插件编译方法
首先官网(http://www.ruby-lang.org/en/downloads/)下载 ruby (1)打开链接进入到下载页面,点击如下位置进行下载 (2)下载页面 (3)进入到各个版本的列表页 ...
- Sass:初识Sass与Koala工具的使用
一.下载Koala(找到合适的系统版本)并安装 二.先新建一个css文件夹,并在里面新建一个文本文档(.txt),将其命名为demo.scss 三.打开Koala,将css文件夹拽进来,可以修改一下输 ...
- sass笔记-3|Sass基础语法之样式复用和保持简洁
上一篇详述了Sass如何嵌套.导入和注释这3个基本方式来保持条理性和可读性,这一篇更进一步地阐述sass保持样式复用和简洁的方式--混合器和选择器继承--这两种方式都能复用样式,使用它们也不难,但一定 ...
- sass笔记-2|Sass基础语法之让样式表更具条理性和可读性
这一篇主要详述保持sass条理性和可读性的3个最基本方法--嵌套.导入和注释. 零. 变量 变量本身的作用是为了保持属性值的可维护性,把所有需要维护的属性值放在同一个地方,快速更改,处处生效,可谓售后 ...
- sass笔记-1|Sass是如何帮你又快又好地搞定CSS的
Sass学习笔记持续整理中,开篇不讲怎么安装,sass是什么,这些搜索引擎会告诉你,我们从sass的作用开始讲起,知道sass用来干什么,有什么作用,我们才能相信用sass的好处,并且时时刻刻想着sa ...
- sass学习笔记 -- sass的四种编译方法
sass的四种编译方法:(.scss) (一)ruby下的命令行编译 首先需要安装ruby,注意需勾选Add Ruby executables to your PATH选项,以添加环境变量. ruby ...
- SASS入门之SASS安装
当然...凭借我这样的肤浅的智商,根本不能理解什么叫certificate verfiy fail... 所以找了一段时间的方法,最后最终在一个sass群里找到了... 发在这里纯属作为自己的一个学习 ...
随机推荐
- Numpy求均值、中位数、众数的方法
首先需要数据源,这里随便写了一个: nums = [1,2,3,4] 求均值和中位数均可以使用numpy库的方法: import numpy as np #均值 np.mean(nums) #中位数 ...
- 异步操作之 Promise 和 Async await 用法进阶
ES6 提供的 Promise 方法和 ES7 提供的 Async/Await 语法糖都可以更好解决多层回调问题, 详细用法可参考:https://www.cnblogs.com/cckui/p/99 ...
- 扒一拔:Java 中的泛型(一)
目录 1 泛型 1.1 为什么需要泛型 1.2 类型参数命名规约 2 泛型的简单实用 2.1 最基本最常用 2.2 简单泛型类 2.2.1 非泛型类 2.2.2 泛型类的定义 2.2.3 泛型类的使用 ...
- 【C#复习总结】细说表达式树
1 前言 系类1:细说委托 系类2:细说匿名方法 系列3:细说Lambda表达式 系列4:细说泛型委托 系列5:细说表达式树 系列6:细说事件 涛声依旧,再续前言,接着用大佬的文章作为开头. 表达式树 ...
- Redux 入门教程(二):中间件与异步操作
上一篇文章,介绍了 Redux 的基本做法:用户发出 Action,Reducer 函数算出新的 State,View 重新渲染. 但是,一个关键问题没有解决:异步操作怎么办?Action 发出以后, ...
- Mysql多实例之mysql服务脚本
1. #init port=3306 mysql_user="root" mysql_pwd="cancer" CmdPath="/applicati ...
- Selling Souvenirs CodeForces - 808E (分类排序后DP+贪心)
E. Selling Souvenirs time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- JVM原理分析
1 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,是通过在实际的计算机上仿真模拟各种计算机功能来实现的.由一套字节码指令集.一组寄存器.一个栈.一个垃圾回收 ...
- stark组件的增删改(新)
1.效果图 2.详细步骤解析 3.总结.代码 1.效果图 增 删除 改 2.详细步骤解析 1.构造增删改查url,反向解析 2.ModelForm定制add.edit页面 3.starak中的 ...
- hadoop和java 配置环境变量的的tar
第一步:打开工具上传tar包 如下图 第二步:在文件路径下查看是否上传成功 第三步:解压tar包 tar -zxvf hadoop.2.6.5.tar.gz 第四步:配置环 ...