将更少的mixins转换为scss

时间:2020-09-04 21:50:54

标签: sass less scss-mixins less-mixins

任何人都可以将较少的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);
}

提前谢谢!

更新:

这是我的实现,但这并没有太大的错误。在输出中,我总是得到菱形的坐标。

https://jsfiddle.net/zncsLm5k/

预期结果:https://medium.com/@zubryjs/squircles-bringing-ios-7s-solution-to-rounded-rectangles-to-css-9fc35779aa65

0 个答案:

没有答案