sass函数变量传参报错问题
想写一个自动生成boxshadow的星空背景,我想用$list
储存坐标位置如(num,num),(num,num)
但是,在boxsha
的传参一直报错
Error: src/view/sass/test.scss
Error: Invalid null operation: ""326px " plus null".
on line 140 of src/view/sass/test.scss
>> $str: $str + $w+'px '+$h+'px '+'#fff, ';
--------------^
但是调用方式改变一下boxsha($list) 变为 boxsha($list())
这样就不会报错;而且我在boxsha
中获取的$length: length($list)
数据也不对。
@function boxsha($list) {
$str: '';
$length: length($list);
$mycount: 0;
@each $one in $list {
$mycount: $mycount + 1;
@each $w, $h in $one {
@if $mycount == $length {
$str: $str + $w+'px '+$h+'px '+'#fff;';
} @else {
$str: $str + $w+'px '+$h+'px '+'#fff, ';
}
}
}
@return $str;
}
$list: ();
$num: 20;
@while $num > 0 {
$w: random(400);
$h: random(400);
$ache: ($w, $h);
$list: append($list, $ache);
$num: $num - 1;
}
.start1 {
position: absolute;
width: 10px;
height: 10px;
box-shadow: unquote(boxsha($list));
background-color: #fff;
}
打印了一下list
第一个居然只有一个数字。。使用join
后也达不到效果,应该用map
类型
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最终实现方案是做一个背景...然后今天下午重新打开....脑子不抽了。。map,list纯粹是画蛇添足了。
代码如下
浏览地址
sass函数