【发布时间】:2017-07-19 03:50:21
【问题描述】:
我有两个 SCSS @mixins,我想在一起调用时将它们组合成一个 CSS 背景规则:
@mixin linear-gradient($color-stop-1, $color-stop-2) {
background: linear-gradient($color-stop-1, $color-stop-2);
}
@mixin bg-img($img, $bg-repeat: no-repeat, $bg-pos: 0 0, $bg-color: transparent) {
background: url('#{$path--rel}/#{$img}') $bg-repeat $bg-pos $bg-color;
}
我可以将它们组合成一个很长的@mixin,但它们都将分别在项目中重复使用。
我想制作这个 CSS:
background: linear-gradient(#009fe1, #3acec2), url(../img/bg.jpg) no-repeat center bottom transparent;
目前我正在调用这两个@mixins:
@include linear-gradient($cerulean, $turquoise);
@include bg-img('bg.jpg', no-repeat, center bottom);
产生的输出 CSS(如预期):
background: linear-gradient(#009fe1, #3acec2);
background: url(../img/bg.jpg) no-repeat center bottom transparent;
可以用一个函数把两个@mixins或者其他简单的方法结合起来吗?
【问题讨论】:
-
你为什么不创建 1 个背景 mixin,它可以根据你给它的输入输出所有 3 个场景?
-
@EdmundReed 你有 sn-p 的例子吗?
-
查看我发布的答案