• sass 控制指令


    控制指令

      控制指令主要有:@if 、@for 、@while 、@each 四种,控制指令是一种高级功能, 主要与混合指令(mixin)配合使用 。尤其是在 Compass 库中 。

    1 、@if

      @if 跟 if 条件语句一样,也可以跟多个 @else if ,用返回值来判断输出的代码,当返回值为 true 时候输出后面 { } 中的代码,当返回值是 false 时,表示该条件不成立,将逐条执行 @else if 声明,如果全部不成立,最后执行 @else 声明 。

      如下代码:

    $name : cmy
    p{
        @if $name == c {
            color : red ;
      } @else if $name == m {
       color : blue ;
      } @else if $name == y {
       color : green ;
      } @else if $name == cmy {
       color : gold ;
      }@else {
       color : yellow ;
      }
    }     

    编译为:

    p {
        color : gold ;

    2 、@for 

      在 Sass 的 @for 循环中有两种方式:

      @for $cmy from <start> through <end>

      @for $cmy from <start> to <end>

    • $cmy 表示变量
    • start  表示起始值
    • 关键字  through  表示包括  end  这个数
    • to  表示不包括  end

    eg1:trough关键字 ,如下代码:

    @for $i from 1 through 3 {
      .item-#{$i} {  2em * $i; }
    }
    
    编译为:
    
    .item-1 {
       2em;
    }
    .item-2 {
       4em;
    }
    .item-3 {
       6em;
    }
    

      

      eg2:to关键字 ,如下代码:

    @for $i from 1 to 3 {
      .item-#{$i} {  2em * $i; }
    }
    
    编译为:
    
    .item-1 {
       2em;
    }
    .item-2 {
       4em;
    }
    

    3 、@while 循环

      @while 指令重复输出格式直到表达式返回结果为 false 。这个和 @for 指令很相似,只要 @while 后面的结果为 true 就会执行。

    $i:4;    //变量赋值用 : 而不是想js一样用 =
    $i_100px;
    @while $i>0{
        .item-#{$i}{ $i_width+$i}
        $i:$i-1;
    }
    
    编译为:
    
    .item-1{
        104px;
    }
    .item-2{
      103px;
    }
    .item-3{
        102px;
    }
    .item-4{
      101px;
    }

    4 、@each 

      @each 指令就是便利一个值列表,然后将变量作用于值列表中每一个项目,输出结果 。

      格式:$var  in   <list>

         $var 变量名

         <list> 一连串的值,也就是值列表

      eg:

    @each $animal in puma, sea-slug, egret, salamander {
      .#{$animal}-icon {
        background-image: url('/images/#{$animal}.png');
      }
    }
    
    编译后:
    
    .puma-icon {
      background-image: url('/images/puma.png'); 
    }
    .sea-slug-icon {
      background-image: url('/images/sea-slug.png'); 
    }
    .egret-icon {
      background-image: url('/images/egret.png'); 
    }
    .salamander-icon {
      background-image: url('/images/salamander.png');
    }
  • 相关阅读:
    Java hibernate 遇到的问题:could not read a hi value
    Java 小知识
    Java 在使用@Select遇到的问题:拼接字符串将数组拼为了字符串
    飞逝的光阴
    终于回来了
    再说创客
    离开一段时间
    抛弃QP
    关于创客
    对DTU系统结构的重新思考
  • 原文地址:https://www.cnblogs.com/cmy485562216/p/7364385.html
Copyright © 2020-2023  润新知