Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css SASS用户选择mixin而不导入-compass_Css_Sass_Mixins_Compass Sass - Fatal编程技术网

Css SASS用户选择mixin而不导入-compass

Css SASS用户选择mixin而不导入-compass,css,sass,mixins,compass-sass,Css,Sass,Mixins,Compass Sass,我正在用指南针研究SASS。我已经创建了一些mixin,但仍然有一个mixin无法运行。这就是用户选择一个。我知道我可以使用@import“compass/css3/user interface”导入它;但这不是重点。为什么我的“手工制作”@mixin user select($value){..}似乎不起作用?有什么已知的原因吗 @mixin user-select($value) { -webkit-user-select: $value; -moz-user-select: $v

我正在用指南针研究SASS。我已经创建了一些mixin,但仍然有一个mixin无法运行。这就是用户选择一个。我知道我可以使用@import“compass/css3/user interface”导入它;但这不是重点。为什么我的“手工制作”@mixin user select($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);
}

似乎对我很管用。。 您可以尝试以下方法:

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

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

你甚至可以进一步概括这一点

$前缀:-webkit-,-moz-,-ms-,-o-,'';
@mixin前缀模板($var、$value、$prefixes:$prefixes){
@$pre中的每个$pre的前缀{{$pre+$var}:{$value}
}
@mixin用户选择($value){
@包括前缀模板(用户选择,#{$value});
}
@混音动画($value){
@包括前缀模板(动画,#{$value});
}

您是否为用户选择使用了合适的前缀?如果您编辑您的问题并添加完整的mixin代码,可能会有所帮助。mixin看起来是正确的,因此问题可能出在其他地方。确保定义了
@mixin
,然后才包含它。编译时会出现错误吗?@NilsKaspersson,这就是诀窍所在。在包括sry之前,我不知道我必须定义mixin。谢谢大家,干杯。你想在媒体查询中使用mixin吗?如果是这样的话,混音和占位符在媒体查询中不起作用,使用Webpack对我来说效果很好。谢谢