认识sass和webstrom的sass配置

我纳闷啊!电脑死机,我刚才编写的内容全没了。

呵呵!

一.sass的使用

1.首先要到官网下载个稳定的ruby版本,因为sass运行是需要ruby环境

它安装的方法也不难。

只需要输入如下代码就行

gem install sass

2.接着在webstrom上设置,搜索栏输入file watchers,新建

然后根据相应的地方输入如下代码

program:

F:\Program Files (x86)\Ruby24-x64\bin\scss.bat

arguments:

--no-cache
--update
--sourcemap
--watch
$FileName$:$FileNameWithoutExtension$.css

output paths to refresh:

Output paths to refresh:$FileNameWithoutExtension$.css:$FileNameWithoutExtension$.css.map

3,一路确认就可以实现自动在scss文件下自动生成.css和.css.map文件了。

题外话:less实现在css文档下自动生成自动生成.css和.css.map文件,需要修改一下配置

arguments:

$FileName$
$FileParentDir$\css\$FileNameWithoutExtension$.css
--source-map

output paths to refresh:

lessc style.less ../css/style.css --source-map

二。认识 sass

它旧的版本是以缩进的形式编写的。

1.变量

Sass 的变量必须是 $ 开始,然后变量名和值使用冒号隔开,跟 CSS 的属性一致:

$base0:20px;
$base1:$base0+40px;
$global-color:blue;
header{
background:$global-color;
padding:$base1;
}

我是直接拷贝我前一份日记的代码,把@改为$.而生成的css样式是这样的:

header {
background: blue;
padding: 60px;
}

2.Mixins (混入)

sass中可用mixin定义一些代码片段,且可传参数,方便日后根据需求调用

先放出less的代码便于对比

@base0:20px;
@base1:@base0+40px; @global-color:blue; .bor-radius (@radius: 5px) {
border-radius: @radius;
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
} header{
background:@global-color;
padding:@base1;
.bor-radius(30px);
}
#div1{
background:pink;
.bor-radius;
}

而sass需要两个关键字@mixin @include来定义和调用函数

$base0:20px;
$base1:$base0+40px; $global-color:blue; @mixin bor-radius ($radius: 5px) {
border-radius: $radius;
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
} header{
background:$global-color;
padding:$base1;
@include bor-radius(30px);
}
#div1{
background:pink;
@include bor-radius();
}

可以发现在less中,定义函数的方法是直接原生css的形式(以.xxx的形式定义函数的。)

.bor-radius (@radius: 5px) {
border-radius: @radius;
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
}

而sass中,则是

@mixin bor-radius ($radius: 5px) {
border-radius: $radius;
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
}

在调用的时候,less直接调用

#div1{
background:pink;
.bor-radius;
}

而在sass中,是要使用@include关键字调用

#div1{
background:pink;
@include bor-radius();
}

而且sass是保留函数模式的(),而less默认参数时,是没有括号的。

3.继承

而在继承方面,我认为less更原生。更接近于css。无论是函数mixin还是继承都是直接嵌套调用。

而在sass还是需要使用关键字@extend

@extend来声明继承的。

#div1{
background:pink;
@include bor-radius();
}
header{
@extend #div1;
text-decoration: dashed;
}

生成的css

#div1, header {
background: pink;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px; } header {
text-decoration: dashed; }

3.嵌套和导入@import

嵌套和导入也没发现有什么不一样的。

bootstrap现在改用sass,而且现在sass一直在维护。我决定选择可口可乐(sass),而不选择百事可乐(less)

认识sass和webstrom的sass配置的更多相关文章

  1. 认识less和webstrom的less配置

    认识less和webstrom的less配置 今天完成的事情: 首先第一件事情是,整理一下常用的颜色摄取 #F1F1F1 google的设置页面的body的背景颜色 #FFF 为google的内容块的 ...

  2. Sass简介,安装环境,Sass的语法格式及编译调试

    什么是 CSS 预处理器? 定义:CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进 ...

  3. vue -- 使用sass并引入公共sass文件

    sass可以提高我们的开发效率,怎么在vue的项目中使用sass并且可以设置一些公共的文件呢? 使用sass 1.安装sass的依赖包 npm install --save-dev sass-load ...

  4. Sublime Text 3编译Sass - Sublime Text安装Sass插件

    1.首先要安装sass,安装流程: http://www.w3cplus.com/sassguide/install.html 2.sublime text安装Package Control(已经安装 ...

  5. sass安装:webpack sass编译失败,node-sass安装失败的终极解决方

    文章来源:sass安装:webpack sass编译失败,node-sass安装失败的终极解决方 sass难言之隐-sass安装的坑 之前花了很多时间折腾node-sass,发现sass老是安装不上 ...

  6. 安装Ruby、Sass在WebStrom配置Scss编译环境css自动压缩

    安装Sass和Compass sass基于Ruby语言开发而成,因此安装sass前需要安装Ruby.(注:mac下自带Ruby无需在安装Ruby!) window下安装SASS首先需要安装Ruby,先 ...

  7. 安装Ruby、Sass在WebStrom添加Watcher实现编辑scss文件时自动生成.map和压缩后的.css文件

    前言 这段时间一直在看Bootstrap,V3官方直接提供了Less版本的源码,就先将Less学完了,很简单的语法,学习写Demo都是在Webstorm里写的,配置了Watcher自动编译(详见< ...

  8. webstrom 使用sass的环境配置说明

    sass(https://www.sass.hk)基于Ruby语言开发而成,因此安装sass前需要安装Ruby.(注:mac下自带Ruby无需在安装Ruby!) 一.安装ruby 注意勾选第二个选项 ...

  9. Sass 入门 (一) 安装Sass

    Sass安装 ruby安装 因为sass依赖于ruby环境,所以装sass之前先确认装了ruby.先导官网下载个ruby 在安装的时候,请勾选Add Ruby executables to your ...

随机推荐

  1. sleep()方法和wait()方法之间有什么差异?

    sleep()方法用被用于让程序暂停指定的时间,而wait()方法被调用后,线程不会自动苏醒,需要别的线程调用同一个对象上的notify()或者nofifyAl()方法 主要的区别是,wait()释放 ...

  2. Bash内置命令exec和重定向

    Bash内置命令exec可以替换当前程序而不需要启动一个新的进程,可以改变标准输入和输出而不需要启动一个新的子进程.如果文件用exec打开,read命令就会把文件指针每次指向下一行直到文件的末尾,如果 ...

  3. 重温Android中的消息机制

    引入: 提到Android中的消息机制,大家应该都不陌生,我们在开发中不可避免的要和它打交道.从我们开发的角度来看,Handler是Android消息机制的上层接口.我们在平时的开发中只需要和Hand ...

  4. JavaScript面向对象轻松入门之继承(demo by ES5、ES6)

    继承是面向对象很重要的一个概念,分为接口继承和实现继承,接口继承即为继承某个对象的方法,实现继承即为继承某个对象的属性.JavvaScript通过原型链来实现接口继承.call()或apply()来实 ...

  5. 合并静态库出现 can't move temporary file错误

    静态库的制作就不说了很简单,网上也很多例子,这里主要讲下我合并通用静态库时候遇见的坑,在合并前注意.a文件一定要正确,我有一次scheme选了release但是device忘了换,结果怼着两个模拟器静 ...

  6. vue 基础-->进阶 教程(3):组件嵌套、组件之间的通信、路由机制

    前面的nodejs教程并没有停止更新,因为node项目需要用vue来实现界面部分,所以先插入一个vue教程,以免不会的同学不能很好的完成项目. 本教程,将从零开始,教给大家vue的基础.高级操作.组件 ...

  7. [leetcode-312-Burst Balloons]

    Given n balloons, indexed from 0 to n-1. Each balloon is painted with a number on it represented by ...

  8. accp8.0转换教材第7章JavaScript操作DOM对象理解与练习

    程序调试,chrome开发人员工具,DOM操作,节点和节点间的关系,节点信息,操作节点,获取元素 一.单词部分 ①alert警告②prompt提示③parentNode父节点④childNode子节点 ...

  9. SpringMvc多视图配置(jsp、velocity、freemarker) velocity在springmvc.xml配置VelocityViewResolver,VelocityConfigurer,FreeMarkerConfigurer,FreeMarkerViewResolver

    ?xml version="1.0"encoding="UTF-8"?> <beans xmlns="http://www.springf ...

  10. Python数据分析之路(一)查询和统计

    0. 如何入门数据分析 关注沙漠之鹰的同学一定看过沙漠君写得很多篇数据分析文章,比如分析房价,车价,预测机动车摇号这些话题.其实文章中所有的分析都使用了Python和它非常强大的数据分析库Pandas ...