认识sass和webstrom的sass配置
认识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配置的更多相关文章
- 认识less和webstrom的less配置
认识less和webstrom的less配置 今天完成的事情: 首先第一件事情是,整理一下常用的颜色摄取 #F1F1F1 google的设置页面的body的背景颜色 #FFF 为google的内容块的 ...
- Sass简介,安装环境,Sass的语法格式及编译调试
什么是 CSS 预处理器? 定义:CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进 ...
- vue -- 使用sass并引入公共sass文件
sass可以提高我们的开发效率,怎么在vue的项目中使用sass并且可以设置一些公共的文件呢? 使用sass 1.安装sass的依赖包 npm install --save-dev sass-load ...
- Sublime Text 3编译Sass - Sublime Text安装Sass插件
1.首先要安装sass,安装流程: http://www.w3cplus.com/sassguide/install.html 2.sublime text安装Package Control(已经安装 ...
- sass安装:webpack sass编译失败,node-sass安装失败的终极解决方
文章来源:sass安装:webpack sass编译失败,node-sass安装失败的终极解决方 sass难言之隐-sass安装的坑 之前花了很多时间折腾node-sass,发现sass老是安装不上 ...
- 安装Ruby、Sass在WebStrom配置Scss编译环境css自动压缩
安装Sass和Compass sass基于Ruby语言开发而成,因此安装sass前需要安装Ruby.(注:mac下自带Ruby无需在安装Ruby!) window下安装SASS首先需要安装Ruby,先 ...
- 安装Ruby、Sass在WebStrom添加Watcher实现编辑scss文件时自动生成.map和压缩后的.css文件
前言 这段时间一直在看Bootstrap,V3官方直接提供了Less版本的源码,就先将Less学完了,很简单的语法,学习写Demo都是在Webstorm里写的,配置了Watcher自动编译(详见< ...
- webstrom 使用sass的环境配置说明
sass(https://www.sass.hk)基于Ruby语言开发而成,因此安装sass前需要安装Ruby.(注:mac下自带Ruby无需在安装Ruby!) 一.安装ruby 注意勾选第二个选项 ...
- Sass 入门 (一) 安装Sass
Sass安装 ruby安装 因为sass依赖于ruby环境,所以装sass之前先确认装了ruby.先导官网下载个ruby 在安装的时候,请勾选Add Ruby executables to your ...
随机推荐
- banner自动生成工具,ascii文字展示
前言 post@ Ryan-Miao@github.io Spring-Boot里有个banner的功能,刚开始觉得很鸡肋.然而,现在觉得蛮有意思的.无聊的程序员. 生成文字 大部分工具只支持英文的库 ...
- angularjs下拉框实现渲染html
angualrjs处于安全的考虑,插值 指令会对相应字符串进行过滤,避免出现html攻击.但是在一些时候,我们需要渲染html,比如实现一个分级的下拉框,代码如下: <body ng-app=& ...
- Bash的条件表达式求值
Bash的条件控制允许两种类型:1)命令的成功或失败 2)逻辑表达式的真假这两种类型都可以通过退出状态($?)来检验,$?=0为真,否则为假 一.命令的成功或失败 通过查看$?值$echo $? 二. ...
- android studio IDE 下,设置ACTIVITY全屏
因为ANDROID STUDIO的JAVA类是继承AppCompatActivity的 ,所以常规的全屏设置并不管用.如果要设置全屏,请参照如下代码/ 1/首先,打开AndroidManifest.x ...
- Linux find运行机制详解
本文目录: 1.1 find基本用法示例 1.2 find理论部分 1.2.1 expression-operators 1.2.2 expression-options 1.2.3 expressi ...
- 深入理解JavaScript中的闭包
闭包没有想象的那么简单 闭包的概念在JavaScript中占据了十分重要的地位,有不少开发者分不清匿名函数和闭包的概念,把它们混为一谈,我希望借这篇文章能够让大家对闭包有一个清晰的认识. 大家都知道变 ...
- Oracle数据库web维护客户端管理工具软件
TreeSoft数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL 等数据库进行维护管理操作. 功能 ...
- 《HelloGitHub》第 15 期
公告 这段时间没怎么写文章,跑去写 https://hellogithub.com 这个网站了,现在已经顺利上线,功能后面会持续迭代. 最后,这个 https://hellogithub.com 网站 ...
- maven下配置pom.xml
博主原创,转载请注明. 遇到的问题: 缺少依赖库.解决办法: 在build标签中添加: <plugin> <groupId>org.apache.maven.plugins&l ...
- 【LeetCode】160. Intersection of Two Linked Lists
题目: Write a program to find the node at which the intersection of two singly linked lists begins. Fo ...