我有一个包含嵌套列表(<ul>
+ <li>
)的HTML。我想使用CSS将其显示为一个紧凑的水平树。
This snippet几乎完全满足了我的要求,但我希望树更紧凑--特别是,我希望每个节点的第一个子节点都显示在父节点的右边,而不是稍低一点。
换句话说,我希望连接父节点和第一个子节点的线始终只水平延伸,即(使用上面的代码片段示例):
我希望树的格式为:
Animals - Birds
|-- Mammals - Elephants - List item 1
| |-- List item 2
| |-- List item 3
代替
Animals
|-- Birds
|-- Mammals
| |-- Elephants
| | |-- List item 1
| | |-- List item 2
| | |-- List item 3
我怎样才能做到这一点?我更喜欢纯CSS/SCSS解决方案,没有JavaScript。谢谢!
可执行的程式码片段:
第一次
1条答案
按热度按时间km0tfn4u1#
在此期间,我自己找到了一个解决办法:技巧是向
.tree ul
添加一个负边距,使其向上移动,并向tree ul:before
添加相应的正top属性,用于绘制垂直线。即变化是:
请点击此处:
第一次