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

标签 html css less

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

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

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

.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 而不是 li 上添加 padding 即可:

.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));
    }
}

演示(使用已编译的 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>

关于html - 在 UL > LI > A 中增加填充的循环更少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52923724/

相关文章:

css - 如何替换颜色 : windowtext;

sass - 想知道 LESS 转义的 SCSS 等价物是什么?

html - 如何使用底部边框和插入符号设置 <select> 样式?

javascript - 如何使用 html 表单将文本添加到 div 中?

javascript - 当选择父级 "checked"时,将 "a"添加到输入,javascript

c# - 在 C# 中使用 HtmlAgilityPack 解析 html

html - 将背景应用于 flex 子项无法正常工作

CSS - 不需要的 div 交错和文本换行

CSS 预处理器,可以在@media 查询中定义变量

css - Web Essentials 2013 减少编译错误