美文网首页
Sass总结(二)

Sass总结(二)

作者: 米几V | 来源:发表于2017-06-25 15:30 被阅读0次

    控制指令

    Sass中可使用条件控制指令和循环控制指令。

    @if指令
    $type: left;
    .hand {
      @if $type == right {
        color: red;
      } @else if $type == left {
        color: blue;
      }@else {
        color: white;
      }
    }
    //编译后
    .hand {
      color: blue; }
    
    @for指令

    @for指令有两种形式,一种是@for $var from <start> to <end>,另一种是@for $var from <start> through <end>。
    @for $var from <start> through <end>示例

    .hand {
      @for $i from 1 through 3 {
        .border-#{$i} {
          border: #{$i}px solid blue;
        }
      }
    }
    //编译后
    .hand .border-1 {
      border: 1px solid blue; }
    .hand .border-2 {
      border: 2px solid blue; }
    .hand .border-3 {
      border: 3px solid blue; }
    

    @for $var from <start> to <end>示例

    .hand {
      @for $i from 1 to 3 {
        .border-#{$i} {
          border: #{$i}px solid blue;
        }
      }
    }
    //编译后
    .hand .border-1 {
      border: 1px solid blue; }
    .hand .border-2 {
      border: 2px solid blue; }
    

    从上面的两个例子中可以发现,@for $var from <start> through <end> 包含<start>和<end>,而@for $var from <start> to <end> 从<strat>开始执行,但不包含<end>的值。

    @while指令
    $i:3;
    @while $i > 0 {
      .item-#{$i} {
        border-width: 2px * $i;
      }
      $i: $i - 1;
    }
    //编译后
    .item-3 {
      border-width: 6px; }
    .item-2 {
      border-width: 4px; }
    .item-1 {
      border-width: 2px; }
    
    @each指令
    @each $member in logo, icon, banner {
      .#{$member}-img {
        background-image: url('/images/#{$member}.png');
      }
    }
    //编译后
    .logo-img {
      background-image: url("/images/logo.png"); }
    .icon-img {
      background-image: url("/images/icon.png"); }
    .banner-img {
      background-image: url("/images/banner.png"); }
    

    函数

    Sass提供了部分内置函数,也允许用户自定义函数。

    内置函数

    Sass中内置了有关颜色、字符串和数字等有关的函数,以颜色函数为例。

    .error {
      color: lighten(#000, 10%);
      background-color: darken(#fff, 10%) ;
    }
    //编译后
    .error {
      color: #1a1a1a;
      background-color: #e6e6e6; }
    
    自定义函数

    Sass中允许用户使用@function自定义函数。

    @function widther($n) {
        @return $n + 2px;
    }
    .error {
      border-width: widther(1px);
    }
    //编译后
    .error {
      border-width: 3px; }
    

    注释

    Sass中有两种注释,一种与css的标准注释格式相同/.../(多行注释),另一种是静默注释,也叫单行注释,是以//开头的。

    //采用链式继承
    /* 采用链式继承-by gj*/
    .error {
      color: red;
    }
    //编译后
    /* 采用链式继承-by gj*/
    .error {
      color: red; }
    

    可以看出,Sass中的静默注释,在编译后的css文件中是不存在的,而Sass中的多行注释,编译后依然存在。因此,那些只是为了给自己看的注释,需要使用静默注释。

    相关文章

      网友评论

          本文标题:Sass总结(二)

          本文链接:https://www.haomeiwen.com/subject/wwcrcxtx.html