【发布时间】:2018-05-01 00:24:38
【问题描述】:
我已经根据 HTML 文档中的<h1>...<h6> 标签制作了一个目录生成器。我正在尝试在列表内列表的结果集之前添加自定义项目符号点图标。通过使用li:before CSS 选择器,我设法让它适用于简单的<h1>...<h2>...<h3> 进程,但这对于跳过级别的进程来说是分崩离析的,例如<h1>...<h3>:
没有li:before 属性,中间列表不会产生新行:
这就是我想要的:
有没有办法做到这一点,也许使用某种方式只选择第一个孩子是<a> 的<li> 元素?我对现代 CSS 技巧的经验有限。
这是一个最小的例子:
.contents ul {
list-style-type: none;
padding: 0;
margin-left: 15px;
}
.contents ul li:before {
font-family: 'FontAwesome';
content: '\f105';
}
<div class="contents">
<ul> <!-- h1 level -->
<li>
<a href="#top-level">Top level</a>
<ul> <!-- h2 level -->
<li>
<ul> <!-- h3 level -->
<li>
<a href="#third-level">Third level</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
作为参考,我使用的是 FontAwesome 的 angle-right 图标(有趣的是,示例 sn-p 似乎加载了这种字体)。
【问题讨论】:
标签: html css css-selectors html-lists