我想在HTML页面上显示这样的内容:

仅限使用CSS.主要问题在于制作这些: ?? ? "分支".
上面的例子是我自己完成的一个解决方案.每个分支具有相同的宽度,包括:
<ul>
<li></li>
<li></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
诀窍是相应地转动<li>黑色边框.一个图像来显示这个(只是一个快速模拟)

我遇到的一个问题是将边框变为白色以匹配背景而不是透明(显然CSS在列表上有透明边框的问题).
我的问题是:什么是最简单的解决方案?有一个更好的方法吗?
编辑:一些要求:
li元素必须占据行高度的一半,使得-in ?总是在中间.EDIT2:http://en.wikipedia.org/wiki/Template:Tree_list进行了一些研究.唉,他们用图像分支.
PS:按照要求http://jsfiddle.net/q3zdB/2/
Dav*_*mas 20
我能想到的最好的是一些(遗憾的是令人遗憾的)嵌套和使用生成的内容(因此它确实需要一个非常新的浏览器,因此IE <8看起来不会非常漂亮),但是那说,鉴于HTML:
ul {
padding: 0;
margin: 0;
list-style-type: none;
position: relative;
}
li {
list-style-type: none;
border-left: 2px solid #000;
margin-left: 1em;
}
li div {
padding-left: 1em;
position: relative;
}
li div::before {
content:'';
position: absolute;
top: 0;
left: -2px;
bottom: 50%;
width: 0.75em;
border: 2px solid #000;
border-top: 0 none transparent;
border-right: 0 none transparent;
}
ul > li:last-child {
border-left: 2px solid transparent;
}Run Code Online (Sandbox Code Playgroud)
<ul>
<li><div>Level 1</div></li>
<li><div>Level 1</div>
<ul>
<li><div>Level 2</div></li>
<li><div>Level 2</div>
<ul>
<li><div>Level 3</div></li>
<li><div>Level 3</div></li>
</ul>
</li>
</ul>
</li>
<li><div>Level 1</div></li>
</ul>Run Code Online (Sandbox Code Playgroud)
我们得到这个:
| 归档时间: |
|
| 查看次数: |
23293 次 |
| 最近记录: |