Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
Sass SCSS:在另一个mixin中调用mixin?_Sass - Fatal编程技术网

Sass SCSS:在另一个mixin中调用mixin?

Sass SCSS:在另一个mixin中调用mixin?,sass,Sass,在下面的代码中,我试图通过调用另一个SCS/SASS mixinpadding-all()insidemybtn-structure()mixin来干燥SCS,但SCS不允许这样做,并抛出错误 @mixin padding-all($top: null, $right: null, $bottom: null, $left: null, $all: null) { padding-top: $top; padding-right: $right;

在下面的代码中,我试图通过调用另一个SCS/SASS mixin
padding-all()
inside
mybtn-structure()
mixin来干燥SCS,但SCS不允许这样做,并抛出错误

@mixin padding-all($top: null, $right: null, $bottom: null, 
$left: null, $all: null) { 
         padding-top: $top;
         padding-right: $right; 
         padding-bottom: $bottom; 
         padding-left: $left; 
         padding: $all; }


@mixin mybtn-structure ($padding: null, $margin: 15px ) {
  padding: @include padding-all($padding);
  margin: $margin;
}

.cool-btn {
  @include mybtn-structure($padding: 12px, $margin: 10px)
}
我想一定有办法得到我在这里要做的事情。如何在另一个mixin中调用mixin


谢谢

尝试删除
mybtn结构中的
padding
属性
mixin,并按如下方式调用mixin:

@mixin mybtn-structure ($padding: null, $margin: 15px ) {
  @include padding-all($padding);
  margin: $margin;
}

是的,我自己发现了,就在发布了这个之后。但是,是否可以进一步使用
填充所有
参数,例如
。cool btn{@include mybtn structure($padding:$top:12px,$margin:10px)}
是否要嵌套参数?我没有完全得到您需要的。如果您注意到,
@mixin padding all($top:null,$right:null,$bottom:null,$left:null,$all:null)
有参数
$top,$bottom…
等,我想在调用
mybtn结构时使用这些参数。e、 g
mybtn结构($padding:$top:12px)
您可以使用相同的名称覆盖所需的参数,并且该参数应传播回为属性指定值的mixin:
@mixin foobar($topPadding:10px,$righpadding:20px,$bottomPadding:10px,$leftPadding:20px,$evenMorePadding:10px){//用所有这些参数做些什么…}p{@include foobar($bottomPadding:50px);}