SASS用户选择mixin没有导入 - 指南针

时间:2014-04-29 09:32:22

标签: css sass mixins compass-sass

我正在使用指南针在SASS上工作。我已经创建了一些mixins但是仍然有一个mixin我无法使它工作。那是用户选择的。我知道我可以使用@import“compass / css3 / user-interface”导入它;但那不是重点。为什么我的'手工'@mixin用户选择($ value){..}似乎不起作用?有没有已知的原因?

@mixin user-select($value) {
  -webkit-user-select: $value; 
  -moz-user-select: $value; 
  -ms-user-select: $value; 
  -o-user-select: $value; 
  user-select: $value;    
}

.myclass {
  @include user-select(none);
}

2 个答案:

答案 0 :(得分:1)

似乎对我来说很好.. 您可以尝试这种方法:

@mixin user-select($select) {
  @each $pre in -webkit-, -moz-, -ms-, -o- {
    #{$pre + user-select}: #{$select};
  } 
  #{user-select}: #{$select};
}

.myclass {
  @include user-select(none);
}

答案 1 :(得分:0)

您甚至可以进一步概括这一步骤。

    $PREFIXES: -webkit-, -moz-, -ms-, -o-, '';
    
    @mixin prefix-template($var, $value, $prefixes:$PREFIXES) {
        @each $pre in $prefixes { #{$pre + $var}: #{$value};  }
    }
    
    @mixin user-select($value) {
      @include prefix-template(user-select, #{$value});
    }
   
    @mixin animation($value) {
      @include prefix-template(animation, #{$value});
    }