当前位置: 首页 > 文档资料 > Less 入门教程 >

循环(Loops)

优质
小牛编辑
130浏览
2023-12-01

在编程中我们最常用的逻辑处理除了条件判断之外,其次就是循环了。在上一个小节中我们已经学习了条件判断,这个小节我们具体学习一下循环,在其他的编程语言中我们都是通过 for 循环的结构去实现的循环结构。但是在 Less 中并没有这么一种语法,而是通过自身调用从而实现的循环递归。同时我们需要运用之前我们学习到的条件判断从而跳出循环。

1. 语法定义

官方定义: Creating loops .

慕课解释: 创建循环。

2. 方法详情

在 Less 中,我们可以通过 mixins 结合 guard 函数自身调用从而达到类似于 for 循环的效果,创建各种循环迭代结构。

例如:

@list:a,b;

.for(@counter) when (@counter < length(@List)+1) {
  .background-@{counter} {
    background-image: url("./images/@{extract(@list,@counter)}.png")
  }
  .for(@counter+1)
}

.for(1)

上述的代码中,.for 通过 when() 函数控制 @counter 参数并调用自身,达到了类似于循环的效果,每一次循环都会返回一个结果。

输出代码如下:

.background-1 {
    background-image: url("./images/a.png")
}

.background-@{counter} {
    background-image: url("./images/b.png")
}

3. 使用场景

循环主要用于动态创建多个样式类或多个属性值。

4. 示例

我们来使用递归循环创建一个 CSS 网格类:

  • 输入代码:
.generate-columns(@n, @i: 1) when (@i =< @n) {
  .column-@{i} {
    width: (@i * 100% / @n);
  }
  .generate-columns(@n, (@i + 1));
}

.generate-columns(4);

.generate-columns 一共循环了 4 次,每一次循环都会创建一个 .column-@{i} 类及其对应的样式类。当然我们也可以通过这种方式生成多个属性值相同的样式类。

  • 输出代码
.column-1 {
  width: 25%;
}
.column-2 {
  width: 50%;
}
.column-3 {
  width: 75%;
}
.column-4 {
  width: 100%;
}

总结

本章节我们介绍了 Less 中的循环,循环(loops)其实是 minxin 和 guard 结合的一种语法。在循环之前我们可以创建一个列表保存需要循环的数据,合理的结合使用可以达到循环迭代的效果。

最后更新:

类似资料

  • 您好,我对jquery没有什么问题。首先,我有: 大众BORA 1.9TDI 1990 1995 奥迪A3 2.0TFSI 2006 2008 但我想实现: VW BORA 1.9TDI 1990 VW BORA 1.9TDI 1991 VW BORA 1.9TDI 1992 VW BORA 1.9TDI 1993 VW BORA 1.9TDI 1994 VW BORA 1.9TDI 1995 A

  • 问题内容: 我第一次不了解PHP。我一直在脚本中使用for循环,while循环,foreach循环。我想知道 哪一个性能更好? 选择循环的标准是什么? 当我们在另一个循环中循环时应该使用哪个? 我一直想知道要使用哪个循环的代码。 很明显,我可以使用while编写上面的代码。希望有人能帮助我找出哪个循环更适合使用。 问题答案: 哪一个性能更好? 没关系 选择循环的标准是什么? 如果只需要遍历对象或数

  • 通常你想在一个任务中干很多事,比如创建一群用户,安装很多包,或者重复一个轮询步骤直到收到某个特定结果. 本章将对在playbook中如何使用循环做全面的介绍. Topics 循环 为了保持简洁,重复的任务可以用以下简写的方式: - name: add several users user: name={{ item }} state=present groups=wheel with_it

  • 循环其实不足为奇。跟其它程序设计语言一样,bash中的循环也是只要控制条件为真就一直迭代执行的代码块。 Bash中有四种循环:for,while,until和select。 for循环 for与它在C语言中的姊妹非常像。看起来是这样: for arg in elem1 elem2 ... elemN do # 语句 done 在每次循环的过程中,arg依次被赋值为从elem1到elemN。这些

  • 尽管已经支持JavaScript原生代码,Jade还是支持了一些特殊的标签,它们可以让模板更加易于理解,其中之一就是each, 这种形式: each VAL[, KEY] in OBJ 一个遍历数组的例子 : - var items = ["one", "two", "three"] each item in items li= item 渲染为: <li>one</li> <li>two</

  • 可能存在需要多次执行代码块的情况。 通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推。 编程语言提供各种控制结构,允许更复杂的执行路径。 循环语句允许我们多次执行语句或语句组,以下是大多数编程语言中循环语句的一般形式 - Perl编程语言提供以下类型的循环来处理循环要求。 Sr.No. 循环类型和描述 1 while 循环 在给定条件为真时重复语句或语句组。 它在执行