Css 将线性渐变传递给Sass混合

Css 将线性渐变传递给Sass混合,css,sass,mixins,Css,Sass,Mixins,我想把整个线性梯度传递给我的混音器。 我尝试了我能想到的任何方法,结果总是出现“无”,用白色覆盖我的图像 @mixin webp-backgroundGradient($imgpath, $type: '.jpg') { background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.8) 10%, white 80%), url('#{$imgpath}#{$type}'); } 看起来效果不错,看代码笔 我猜你

我想把整个线性梯度传递给我的混音器。 我尝试了我能想到的任何方法,结果总是出现“无”,用白色覆盖我的图像

@mixin webp-backgroundGradient($imgpath, $type: '.jpg') {
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.8) 10%, white 80%), url('#{$imgpath}#{$type}');
}

看起来效果不错,看代码笔

我猜你的图像路径可能有问题吧?如果看不到您的控制台源代码,很难判断

我从mixin参数中删除了
$type:'.jpg'
,并直接传递了图像url

@mixin webp backgroundGradient($img){
背景尺寸:封面;
背景重复:无重复;
背景图像:线性梯度(
归根结底,
rgba(白色,0.5)10%,
rgba(白色,1)90%
),
url(“#{$img}”);
}
.形象{
高度:100vh;
@包括webp背景梯度(“https://i.imgur.com/UNV29z8.jpeg");
}
这是输出

.image{
高度:100vh;
背景尺寸:封面;
背景重复:无重复;
背景图像:线性渐变(到底部,rgba(255,255,255,0.5)10%,白色90%),url(“https://i.imgur.com/UNV29z8.jpeg");
}


我想将渐变作为如下参数传入:“at”包括webp backgroundGradient(“”,线性渐变(到底部,rgba(255,255,255,0.5)10%,白色90%);我的想法是,我想动态设置梯度,因为不同的图片有不同的梯度,或者根本没有梯度。@Itshinks当我看到更新的答案时,这就是你想要的吗?效果很好。谢谢