前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SASS学习笔记(一)

SASS学习笔记(一)

作者头像
用户1148399
发布2018-01-09 15:45:53
1.3K0
发布2018-01-09 15:45:53
举报
文章被收录于专栏:web前端web前端

一、为什么使用SASS

CSS不是编程语言,没有变量、条件语句等等,只是单纯的描述,因此为CSS加入编程元素(即“CSS预处理器”)。其基本思想:用一种专门的编程语言进行网页设计,然后再编译成CSS文件。SASS作为其中一种“CSS预处理器”,有许多优点(便利的写法,节省时间,就像JS中的jQuery;简单、可维护),可以用来写CSS(总之就是一门写CSS的编程语言)

二、安装

类似于bootstrap是基于jQuery的,SASS是用Ruby语言写的(但是两者语法没有关联,没有Ruby的基础没关系),所以安装SASS之前必须先安装Ruby。

ps. 以下均在Windows7操作系统下

1)http://rubyinstaller.org/downloads/  下载ruby(我选择的是Ruby2.2.3(x64))

2)正常安装,选择框均全选(添加Ruby的bin文件夹到PATH用户变量和系统变量以使用 gem 命令工作。)

3)安装Ruby完毕后,win+r--cmd--enter 打开命令框,输入gem install sass,安装sass

4)不成功多试几次,安装成功即可使用sass了。

三、基本用法

1)变量,所有变量以$开头,如果变量镶嵌在字符串中,用#{}包含

代码语言:js
复制
$red:#f00;
$lside:left;
div{
  color:$red;
  border-#{$lside}-radius:10px;
}
2)计算功能,sass允许使用加减乘除算式
div{
  width:100px+20px;
}
3)嵌套,sass可以将css中的包含选择器写成嵌套形式
3.1) 标签嵌套
css:
div  h2{
  color:red;
}

写成sass:

代码语言:js
复制
div{
  h2{
    color:red;
  }
}
3.2)属性嵌套(如border-color拆开成嵌套格式:如下)注意border后有冒号(想象成将-改成了:)
div{
  border:{
    color:red;
  }
}

3.3)用&引用父元素(如a:hover改成)

代码语言:js
复制
a{
  &:hover{
    color:red;
  }
}
4)注释
/*    */     会保留到编译后的文件
//          单行注释,只保留在sass文件中,编译后被省略
/*!     */           重要注释,即使压缩也会也会被保留,常用于声明版权信息

四、代码重用

1)继承,sass允许一个选择器继承另一个选择器,@extend 命令

代码语言:js
复制
.class1{
   color : red;
}
.class2{
  @extend : .class1;
}
2)Mixin,使用@mixin 命令定义代码块,用@include 调用这个代码块
2.1)@mixin left{
  float:left;
}
div{
  @include  left;
}
2.2)用mixin指定参数和缺省值
@mixin left($value:20px){
  float:left;
  margin-left:$value;
}
div{
  @include  left(10px);
}

五、颜色函数,指定颜色并用颜色函数(主要是加深或者减淡)生成系列颜色

代码语言:js
复制
lighten(#f00,20%)
darken(#f00,20%)
grayscale(#f00,20%)
complete(#f00)

六、高级语法

1)插入文件,用@import命令

代码语言:js
复制
@import +路径

2)条件语句,@if和@else (可以将@想象成if后面的括号)

2.1)

代码语言:js
复制
div{
  @if width<3 {
    width:20px;
  }@else{
    width:10px;
  }
}

2.2)循环语句,@for   @while  @each  用法同上

2.3)自定义函数,@function

代码语言:js
复制
@function double($n){
  @return $n * 3;
}
div{
  width:double(3px);
}

参考资料:  阮一峰SASS用法指南

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-03-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档