scss Sass:在任何选择器上创建新范围的最简单方法。 #sass

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scss Sass:在任何选择器上创建新范围的最简单方法。 #sass相关的知识,希望对你有一定的参考价值。

.foo {
  var-1: "$var-1: new scope";
}
.foo .bar {
  var-2: "$var-2: nested scope";
}
.foo .bar {
  /* Nested scope never works. */
  var-2: "$var-2: nested scope";
  /* .foo scope */
}

.baz {
  var-1: "$var-1: global scope";
  var-2: "$var-2: global scope";
}
// ----
// Sass (v3.4.9)
// Compass (v1.0.1)
// ----

// Sass: The easiest way of creating new scope at root-level witout any selectors.
//
// http://twitter.com/whizark
//
// Other ideas
// https://github.com/whizark/xass#ideas 

// Mixin
@mixin scope() {
  @content;
}

// Test
$var-1: '$var-1: global scope';
$var-2: '$var-2: global scope';

@include scope() {
  $var-1: '$var-1: new scope';

    .foo {
      var-1: $var-1;

      $var-2: '$var-2: .foo scope';

      @include scope() {
        $var-2: '$var-2: nested scope';

        .bar {
          var-2: $var-2;
        }
      }

      .bar {
        /* Nested scope never works. */
        var-2: $var-2;  /* .foo scope */
      }
    }
}

.baz {
  var-1: $var-1;
  var-2: $var-2;
}

以上是关于scss Sass:在任何选择器上创建新范围的最简单方法。 #sass的主要内容,如果未能解决你的问题,请参考以下文章

scss Sass:创建自定义范围和基于范围的默认值#sass

[Sass]局部变量和全局变量

springboot的最简创建方式

Sass基础

如何使用 Hugo 设置 SCSS

禅道的最简使用