在 UL > LI > A 中增加填充的循环更少

Less loop to increment padding in UL > LI > A

我的 html 中有以下层次结构。

<ul>
  <li>
  <a></a>
   <ul>
   <li>
   <a></a>
     <ul>
      <li>
      <a></a>
      </li>
     </ul>
   </li>
  </ul>
 </li>
</ul>

我只想在锚元素中增加内边距。我在 less 中提出了以下循环,但它只是增加了 ul li 中的填充。我不知道如何 select 锚元素。

.make-nested-lists(5);

.make-nested-lists(@n, @i: 0) when (@i < @n) {
    ul li {
        padding-left: (30px + 15 * @i);
        .make-nested-lists(@n, (@i + 1));
    }
}

只需在 a 上添加 padding 而不是 li :

.make-nested-lists(5);

.make-nested-lists(@n, @i: 0) when (@i < @n) {
    ul li {
        a{
            padding-left: (30px + 15 * @i);
        }

        .make-nested-lists(@n, (@i + 1));
    }
}

Demo(编译LESS):

ul li a{padding-left:30px}ul li ul li a{padding-left:45px}ul li ul li ul li a{padding-left:60px}ul li ul li ul li ul li a{padding-left:75px}ul li ul li ul li ul li ul li a{padding-left:90px}
<ul>
  <li>
    <a>test 1</a>
    <ul>
      <li>
        <a>test 2</a>
        <ul>
          <li>
            <a>test 3</a>
          </li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

添加 p 添加到您的 link (a),而不是在 li 元素上。