【sass】sass的基本特性-基础

1.声明变量

注:如果值后面加上!default则表示默认值,此变量为默认变量,否则为普通变量,sass 的默认变量一般是用来设置默认值,然后根据需求来覆盖的,覆盖的方式也很简单,只需要在默认变量之前重新声明下变量即可,另外变量也分为局部变量和全局变量。

2.变量的调用

例:

定义:

$brand-primary : darken(#428bca, 6.5%) !default; // #337ab7
$btn-primary-color: #fff !default;
$btn-primary-bg : $brand-primary !default;
$btn-primary-border : darken($btn-primary-bg, 5%) !default;

调用:

.btn-primary {
   background-color: $btn-primary-bg;
   color: $btn-primary-color;
   border: 1px solid $btn-primary-border;
}

编译出来的css:

.btn-primary {
  background-color: #337ab7;
  color: #fff;
  border: 1px solid #2e6da4;
}

3.嵌套-选择器嵌套

例:

html:

<header>
<nav>
    <a href=“##”>Home</a>
    <a href=“##”>About</a>
    <a href=“##”>Blog</a>
</nav>
<header>

css写法:

nav a {
  color:red;
}

header nav a {
  color:green;
}

sass:

nav {
  a {
    color: red;

    header & {
      color:green;
    }
  }  

注:注意区分&符的位置,置前表示它为父集,置后代表它为子集,即是对子集的引用

4.嵌套-属性嵌套

例子:

css:

.box {
    border-top: 1px solid red;
    border-bottom: 1px solid green;
}

sass:

.box {
  border: {
   top: 1px solid red;
   bottom: 1px solid green;
  }
}

5.嵌套-伪类嵌套

css:

.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
  overflow: hidden;
}

sass:

.clearfix{
&:before,
&:after {
    content:"";
    display: table;
  }
&:after {
    clear:both;
    overflow: hidden;
  }
}

 

6.混合宏

1.声明混合宏

a.不带参数混合宏:在 Sass 中,使用“@mixin”来声明一个混合宏

@mixin border-radius{
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

b.带参数混合宏

除了声明一个不带参数的混合宏之外,还可以在定义混合宏时带有参数

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

c.复杂的混合宏:

@mixin box-shadow($shadow...) {
  @if length($shadow) >= 1 {
    @include prefixer(box-shadow, $shadow);
  } @else{
    $shadow:0 0 4px rgba(0,0,0,.3);
    @include prefixer(box-shadow, $shadow);
  }
}

这个 box-shadow 的混合宏,带有多个参数,这个时候可以使用“ … ”来替代。简单的解释一下,当 $shadow 的参数数量值大于或等于“ 1 ”时,表示有多个阴影值,反之调用默认的参数值“ 0 0 4px rgba(0,0,0,.3) ”。

2.调用混合宏

 

7.扩展/继承

8.占位符

9.插值

10.注释

11.数据类型

12.字符串

13.指列表

 

posted @ 2016-10-10 17:48  Sunny_Lee  阅读(1041)  评论(0编辑  收藏  举报