SASS语法学习

一、嵌套

1.选择器嵌套

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

 

nav {
  a {
    color: red;

    header & {
      color:green;
    }
  }  
}

2.属性嵌套

.box {
  border: {
   width: 12px;
   style: bold;
  }  
}

等于

.box {

  border-width: 12px;

  border-style: bold; }

二、混合宏

1.声明混合宏

@mixin border-radius($radius){    //它可以传递多个参数,也可以不传递任何参数
  -webkit-border-radius: $radius;
  border-radius: $radius;
}

2.调用混合宏

button {
    @include border-radius(3px);
}

三、扩展/继承

.btn {
  border: 1px solid #ccc;
  padding: 6px 10px;
  font-size: 14px;
}

.btn-primary {
  background-color: #f36;
  color: #fff;
  @extend .btn;
}

.btn-second {
  background-color: orange;
  color: #fff;
  @extend .btn;
}

四、占位符

%pt5{
  padding-top: 5px;
}
//这段代码要是没有被 @extend 调用,他并没有产生任何代码块,只是静静的躺在你的某个 SCSS 文件中。只有通过 @extend 调用才会产生代码:
.btn {
  @extend %pt5;
}

五:插值

$properties: (margin, padding);
@mixin set-value($side, $value) {
    @each $prop in $properties {
        #{$prop}-#{$side}: $value;
    }
}
.login-box {
    @include set-value(top, 14px);
}

//结果
.login-box {
    margin-top: 14px;
    padding-top: 14px;
}
//构建一个选择器
@mixin generate-sizes($class, $small, $medium, $big)
{ .#{$class}-small { font-size: $small; } .#{$class}-medium { font-size: $medium; } .#{$class}-big { font-size: $big; } } @include generate-sizes("header-text", 12px, 20px, 40px); //结果 .header-text-small { font-size: 12px; } .header-text-medium { font-size: 20px; } .header-text-big { font-size: 40px; }

 

posted @ 2015-08-12 11:11  Bigdots  阅读(204)  评论(0编辑  收藏  举报