此代码基于this。
<div class="tree">
<ul>
<li>
<a href="#">Great Grand Child</a>
</li>
<li>
<a href="#">Great Grand Child</a>
</li>
<li>
<a href="#">Great Grand Child</a>
</li>
</ul>
</div>
https://jsfiddle.net/danyaljj/sq6wy6bq/
我想在边缘添加标签。知道最好的方法是什么? (可能的标签集是有限的,如10个标签)。像这样的东西:
答案 0 :(得分:1)
这是一个远非健壮的解决方案,只允许在3项目列表的第一个和最后一个项目上贴标签(第二个标签上没有标签的位置......)
小提琴https://jsfiddle.net/sq6wy6bq/2/
HTML代码:我会在标记的子项之前的每个项目中添加标签,以便:
<ul>
<li>
<span class="so-label">Label 1</span>
<a href="#">Great Grand Child</a>
</li>
<li>
<a href="#">Great Grand Child</a>
</li>
<li>
<span class="so-label">Label 2</span>
<a href="#">Great Grand Child</a>
</li>
</ul>
相关CSS:绝对定位(叹气)
.so-label {
position: absolute;
top: -40%;
width: 100%;
font-size: 0.8em;
}
li:first-child .so-label {
left: 50%;
}
li:last-child .so-label {
left: -50%;
}
如果是2或4-10个孩子(哇),您仍然可以知道列表中的项目数量,并手动定位每个标签:trick from André Luís。标签不应该太长或者它会覆盖......
可能的改进:
aria-describedby
或类似的ARIA属性)来实现。