for 循环:
// 使用 for 循环生成样式规则
.generate-colors(@count) {
.-loop(@index) when (@index > 0) {
// 计算颜色
@color: spin(hue(@base-color) + (@index * 10));
// 生成样式规则
.color-@{index} {
background-color: @color;
}
// 递归调用循环
.-loop(@index - 1);
}
// 开始循环
.-loop(@count);
}
// 调用循环生成样式规则
.generate-colors(5);
在这个例子中,.generate-colors 混合接受一个参数 @count,然后使用 for 循环生成指定数量的颜色规则。在循环中,通过 Less 的插值语法 @{index} 动态生成样式类名,并使用 spin 函数生成不同的颜色。
each 循环:
// 使用 each 循环生成样式规则
.generate-colors(@colors) {
.loop(@index) when (@index > 0) {
// 取出颜色
@color: extract(@colors, @index);
// 生成样式规则
.color-@{index} {
background-color: @color;
}
// 递归调用循环
.loop(@index - 1);
}
// 开始循环
.loop(length(@colors));
}
// 调用循环生成样式规则
@colors: red, blue, green, yellow, orange;
.generate-colors(@colors);
在这个例子中,.generate-colors 混合接受一个参数 @colors,然后使用 each 循环生成样式规则。在循环中,使用 extract 函数获取颜色,并动态生成样式类名。
这些是 Less 中基本的循环用法,可以根据需要进行调整和扩展。循环提供了一种有效的方式来生成重复的样式规则。
转载请注明出处:http://www.zyzy.cn/article/detail/4298/Less