如何简化这个CSS较少的框阴影混合?(带“方向”的多个阴影)
如何减少这段代码(可能有一个循环?),使其具有一个“函数”,它具有方向和数字如何简化这个CSS较少的框阴影混合?(带“方向”的多个阴影),css,less,less-mixins,Css,Less,Less Mixins,如何减少这段代码(可能有一个循环?),使其具有一个“函数”,它具有方向和数字 @dir=想要的“方向” @number=我需要阴影多少次(这里是10次) @color=阴影的颜色 示例(工作正常,但不易使用): 我有一个改变阴影方向的@dir参数。 在本例中,我将@dir=se,其中se=东南。西北部、东北部、西南部和东南部也是如此 如何避免这个…? 我几乎可以肯定,这是不可能的,因为它缺乏这样做的语言结构(我已经有一段时间没有使用较少,所以我可能是错的)。另一方面,Sass可能能够做到这一
=想要的“方向”@dir
=我需要阴影多少次(这里是10次)@number
=阴影的颜色@color
@dir
参数。
在本例中,我将@dir=se
,其中se
=东南。西北部、东北部、西南部和东南部也是如此
如何避免这个…?
我几乎可以肯定,这是不可能的,因为它缺乏这样做的语言结构(我已经有一段时间没有使用较少,所以我可能是错的)。另一方面,Sass可能能够做到这一点,因为它确实有循环和列表之类的东西(尽管从这里的选项看,处理可变数量的阴影可能会非常难看)。没问题:
.text-shadow-3d(@x, @y, @index) when (@index > 0) {
// Loop-de-loop.
.text-shadow-3d(@x, @y, @index - 1);
// The '+' after 'text-shadow' concatenates with comma.
text-shadow+: @x*@index @y*@index 0 black;
}
.text-shadow-3d(1px, 1px, 5);
结果:
text-shadow: 1px 1px 0 #000000, 2px 2px 0 #000000, 3px 3px 0 #000000, 4px 4px 0 #000000, 5px 5px 0 #000000;
文件:
.text-shadow-3d(@x, @y, @index) when (@index > 0) {
// Loop-de-loop.
.text-shadow-3d(@x, @y, @index - 1);
// The '+' after 'text-shadow' concatenates with comma.
text-shadow+: @x*@index @y*@index 0 black;
}
.text-shadow-3d(1px, 1px, 5);
text-shadow: 1px 1px 0 #000000, 2px 2px 0 #000000, 3px 3px 0 #000000, 4px 4px 0 #000000, 5px 5px 0 #000000;