SASS的安装及使用(前提:安装Ruby)
本文仅适用于Windows系统。
一、安装Ruby
Sass是用Ruby语言写的,但是两者的语法没有关系,所以学 Sass 不用学 Ruby,只是必须先安装Ruby,然后再安装Sass。
Linux和Mac已自带Ruby,不用再安装。Windows用户可以从这里下载Ruby的安装程序。
我下载的是第二个,Ruby 2.3.1 (x64)
安装过程没什么麻烦的地方,按提示来就可以。

二、安装SASS
进入运行cmd进入命令提示符,输入ruby -v查看版本号,如果能正确显示版本号,则说明ruby安装成功。

然后输入gem install sass进行安装。
可能会出现下图(提示Could not find a valid gem 'sass')的情况,可以参考这篇文章解决。

正常情况下显示的结果是这样的:

三、使用SASS
要编译的scss文件(mystyle.scss)如下:
$anime-time: 8s; $box-size: 350px;
$clip-distance: .05;
$clip-size: $box-size * (1 + $clip-distance * 2);
$path-width: 2px; $main-color: #5FB9D5; $codepen-logo-path: url('//blog.codepen.io/wp-content/uploads/2012/06/Button-White-Large.png'); %full-fill {
position: absolute;
top:;
bottom:;
left:;
right:;
} .bb {
@extend %full-fill;
width: $box-size;
height: $box-size;
margin: auto;
background: $codepen-logo-path no-repeat 50% / 70% rgba(#000, .1);
color: $main-color;
box-shadow: inset 0 0 0 1px rgba($main-color, .5); &::before,
&::after {
@extend %full-fill;
content: '';
z-index: -1;
margin: -1 * $clip-distance * 100%;
box-shadow: inset 0 0 0 $path-width;
animation: clipMe $anime-time linear infinite;
} &::before {
animation-delay: $anime-time * -.5;
} // for debug
&:hover {
&::after,
&::before {
background-color: rgba(#f00, .3);
}
} } @keyframes clipMe {
0%, 100% {clip: rect(0px, $clip-size, $path-width, 0px); }
25% {clip: rect(0px, $path-width, $clip-size, 0px); }
50% {clip: rect($clip-size - $path-width, $clip-size, $clip-size, 0px); }
75% {clip: rect(0px, $clip-size, $clip-size, $clip-size - $path-width); }
} ///// html,
body {
height: 100%;
} body {
position: relative;
background-color: #0f222b;
} *,
*::before,
*::after {
box-sizing: border-box;
}
进入需要编译的scss所在的目录,执行sass style.scss style.css
之后可在该目录获得编译后的css文件以及css.map文件。

scss文件相当于源文件,css相当于编译后的文件,当检查到页面问题的时候,看到的是css,但是需要修改的是scss文件,这个css.map就是两个文件的对应关系表。
参考资料:
http://www.sass-zh.com/
http://www.haorooms.com/post/sass_css
SASS的安装及使用(前提:安装Ruby)的更多相关文章
- sass、less和stylus的安装使用和入门实践
刚 开始的时候,说实话,我很反感使用css预处理器这种新玩意的,因为其中涉及到了编程的东西,私以为很复杂,而且考虑到项目不是一天能够完成的,也很少是 一个人完成的,对于这种团队的项目开发,前端实践用c ...
- sass、less、stylus的安装及使用
一.什么是CSS预处器 CSS预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为CSS增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就 只要使用这种语言进行编码工作.通俗的 ...
- Cocoapods更改安装版本及卸载、ruby版本检测和安装
修改于:2017.1.10 我们实际过程中会遇到很多的问题,并且各式各样,特别是各种系统.工具版本升级后遇到的问题,最后的杀手锏就是彻底删干净,重装. 一. 移除pod组件 这条指令会告诉你Cocoa ...
- 安装cocoapods遇到两大坑-Ruby版本升级和Podfile的配置
今天安装cocoapods #移除原有ruby源 $ gem sources --remove https://rubygems.org/ #使用可用的淘宝网 $ gem sources -a htt ...
- centos7源码安装Python3的前提条件
centos7源码安装Python3的前提条件: # yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline- ...
- windows安装ruby,DevKit安装rails,svn安装
Ruby on Rails的安装,是从被称为RubyGems的包管理系统开始的.Ruby on Rails是由Ruby处理系统的类库的.被称为“gem”的格式来进行配置的.“gem”形式的类库,通过使 ...
- 关于IOS新手在安装cocoa pods失败,因为ruby版本过低的解决方法+ (void) {升级ruby}
http://blog.csdn.net/zhaoen95/article/details/51995520 现在: 使用 OS 系统, 正在学习iOS 需要配置cocoapods 命令行中显 ...
- 【Mac + Appium学习(一)】之安装Appium环境前提准备
环境: Appium version :1.9.1 Appium-desktop:1.7.1 Xcode:10.0 IOS:iPhone5S(10.3.3) Android:6.0.1 Mac:10. ...
- Python 环境搭建(Win 安装以及Mac OS 安装)
千里之行始于足下,今天我们先来学习 Python 环境搭建. 注意:本系列教程基于 Python 3.X Python 环境搭建 Win 安装 打开 Python 官网 https://www.pyt ...
- zz Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位)
Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位) Posted on 2015年01月28日 by 虾虾 22 Comments 最新的Windows 10 MSD ...
随机推荐
- angularJS——自定义服务provider之$get
可以认为provider有三个部分: 第一部分是私有变量和私有函数,这些变量和函数会在以后被修改. 第二部分是在app.config函数里可以访问的变量和函数,所以,他们可以在其他地方使用之前被修改. ...
- Linux_用户级_常用命令(2):cd
开篇语:懒是人类进步的源动力 本文原创,专为光荣之路公众号所有,欢迎转发,但转发请务必写出处! Linux常用命令第二集包含命令:cd 一.格式: cd directory 使用cd命令在目录层次间移 ...
- 阿里云CDN刷新预热接口
阿里云OSS映射的文件地址需要即时访问到最新数据,需要即时调用CDN的刷新预热类接口 RefreshObjectCaches 刷新接口. 参考官方接口文档资料:https://help.aliyun. ...
- Java数据结构之字符串模式匹配算法---Brute-Force算法
模式匹配 在字符串匹配问题中,我们期待察看源串 " S串 " 中是否含有目标串 " 串T " (也叫模式串).其中 串S被称为主串,串T被称为子串. 1.如果在 ...
- 用PHP调用Oracle存储过程方法
//建立一个TEST表CREATE TABLE TEST ( ID NUMBER(16) NOT NULL, NAME VARCHAR2(30) N ...
- OC-《购票系统》
来个命令行的购票系统 --1-- 需求分析 1.1 分析 1.2 功能分析 1.3 流程分析 --2-- 原型展示 2.1 界面原型 --3-- 系统设计 3.1 类设计 3.2 框架模块设计 --4 ...
- (转)深入浅出 妙用Javascript中apply、call、bind
原文连接 深入浅出 妙用Javascript中apply.call.bind 网上文章虽多,大多复制粘贴,且晦涩难懂,我希望能够通过这篇文章,能够清晰的提升对apply.call.bind的认识,并且 ...
- AfxBeginThread中使用updatedata出错
原因:MFC对象不支持多线程操作,不能供多个线程进程使用,所以尽量不要在线程里面更新界面. 解决办法: 1.将工程改为release 2.使用控件来SetWindowText 3.在线程里面发送消息 ...
- 20-ES6(3)class基本语法
# Class基本语法 关于es6的class简介: ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板.通过class关键字,可以定义类.基本上,ES6的class可以 ...
- Web String path问题
request.getContextPath()"下方出现了红色的波浪线,提示的错误信息是 "The method getContextPath() from the type H ...