sass变量的做用域

嵌套规则内定义的变量只能在嵌套规则内使用(局部变量),不在嵌套规则内定义的变量则可在任何地方使用(全局变量)。
<div class="test">111111111</div>
<div class="test2">111111111</div>

css:css

  $fs2:20px;
.test{
  $fs2:30px;
  font-size: $fs2;
}
  .test2{
    font-size: $fs2;
  }

结果:局部的$fs2只在test有用,并无覆盖全局的,因此在test2中,依然是全局 $fs2的值。spa

 

将局部变量转换为全局变量能够添加 !global 声明,这以后使用此变量,将会是改变后的值code

$fs2:20px;
  .test{
    $fs2:30px !global;
    font-size: $fs2;
  }
  .test2{
    font-size: $fs2;
  }

结果:test2也是30pxblog

 

局部或者全局重复声明,后者覆盖前者:class

  $fs2:20px;
  
  .test{
    $fs2:30px;
    font-size: $fs2;
  }
  
  $fs2:30px;
  
  .test2{
    font-size: $fs2;
  }

结果:在全局重复声明了$fs2,test2使用的是后者的30pxtest

相关文章
相关标签/搜索