html - 您可以使用 SCSS 根据嵌套深度设置元素的填充吗?
问题描述
我正在设计一个具有多个级别的下拉菜单,并且需要li
根据嵌套的深度设置选项的填充。
<ul>
<li>1</li>
<li>2</li>
<ul>
<li>a</li>
<li>b</li>
<ul>
<li> i </li>
<li> ii </li>
<li> iii </li>
</ul>
</ul>
</ul>
该选项2
有两个子选项:a
和b
。该选项b
有 3 个子选项:i
, ii
,iii
有什么办法可以让li
第一层的所有东西都有 16px 的 padding-left,然后所有li
的 s 都有 padding-left 之类的东西(parent li's padding-left) + 20px
?
注意:我真正想要的是一个接一个的所有选项,每个选项的填充都基于其嵌套级别,而无需为每个级别编写显式类。
编辑:这是主要问题的基本codepen Codepen :我想要的是每个项目的悬停背景扩展到主容器的整个宽度
解决方案
编辑:要动态增加填充,您可以执行以下操作:
ul:nth-child(1) > * {
padding-left: 16px;
}
检查下面的片段:
ul:nth-child(1) > * {
padding-left: 16px;
}
<ul>
<li>1</li>
<li>2</li>
<li>
<ul>
<li>a</li>
<li>b</li>
<li>
<ul>
<li> i </li>
<li> ii </li>
<li> iii </li>
</ul>
</li>
</ul>
</li>
</ul>
推荐阅读
- group-by - 发票表中枢轴的最大计数
- r - 在 r 中的许多列上应用一个函数
- c++ - 为什么创建 std::move 而不是使用 static_cast
- python - 删除特征后重新计算特征重要性
- c# - 理解 C# 方法中的隐式转换
- javascript - 本地存储不存储值。仅存储 [object MouseEvent]
- github - 我如何在 GitHub 中请求组织批准 OAuth 应用程序,真的吗?
- sql-server - JPA - 仅当当前为空时才允许更新列
- html - CSS 背景滤镜模糊在 Windows 上没有正确模糊边缘(适用于 macOS)
- arrays - 如何将 GitLab CI 变量设置为 gitlab-ci 中的数组?