任何人都可以将较少的mixins转换为scss吗? 这是用于Apple图标样式边框的有趣练习的mixins。
.border-squircle(@radius-x; @radius-y) {
.loop(@radius-x; @radius-y; 359; 100% 0);
}
.loop(@radius-x; @radius-y; @counter; @list) when (@counter >= 0) {
@cos-x: cos(unit(@counter, deg));
@x: pow(abs(@cos-x), unit(@radius-x) / 100) * 50 * abs(@cos-x + 0.0000000001) / (@cos-x
+ 0.0000000001) + 50;
@sin-y: sin(unit(@counter, deg));
@y: pow(abs(@sin-y), unit(@radius-y) / 100) * 50 * abs(@sin-y + 0.0000000001) / (@sin-y +
0.0000000001) + 50;
@percent-x: percentage(round(@x, 1) / 100);
@percent-y: percentage(round(@y, 1) / 100);
@new-list: @percent-x @percent-y, @list;
.loop(@radius-x; @radius-y; (@counter - 1); @new-list);
}
.loop(@radius-x; @radius-y; @counter; @list) when (@counter < 0) {
clip-path: polygon(@list);
}
提前谢谢!
更新:
这是我的实现,但这并没有太大的错误。在输出中,我总是得到菱形的坐标。