Sass中的循环

SASS 比 LESS 牛逼的地方就在于 SASS 中直接支持循环语句,而 LESS 中需要通过 混合 + 条件判断 自己实现,SASS 中支持两种循环,分别是 for 循环和 while 循环,紧接着我们先修改 HTML 的结构代码然后在来看 sass 中的循环代码内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>BNTang</title>
    <link rel="stylesheet" href="css/index.css">
</head>
<body>
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
</ul>
</body>
</html>

for 循环

  • @for $i from 起始整数 through 结束整数{}
ul {
  li {
    width: 100%;
    height: 50px;
    border: 1px solid #000;
    font-size: 20px;
    color: #fff;
    background: red;
    @for $i from 5 through 8 {
      &:nth-child(#{$i}) {
        background: deepskyblue;
      }
    }
  }
}

image-20210815210957696

image-20210815211535740

  • @for $i from 起始整数 to 结束整数{}
ul {
  li {
    width: 100%;
    height: 50px;
    border: 1px solid #000;
    font-size: 20px;
    color: #fff;
    background: red;
    @for $i from 5 to 8 {
      &:nth-child(#{$i}) {
        background: deepskyblue;
      }
    }
  }
}

image-20210815211501583

image-20210815211031039

  • 两者的区别 through 包头包尾,to 包头不包尾

while 循环

  • @while(条件语句){}
ul {
  li {
    width: 100%;
    height: 50px;
    border: 1px solid #000;
    font-size: 20px;
    color: #fff;
    background: red;
    $i: 5;
    @while ($i <= 8) {
      &:nth-child(#{$i}) {
        background: deepskyblue;
      }
      $i: $i+1;
    }
  }
}

image-20210815211826257

image-20210815211839115

posted @ 2021-08-15 21:21  BNTang  阅读(417)  评论(0)    收藏  举报