Skip to content

Commit e315501

Browse files
committed
css实现树状结构思维导图
1 parent d83cdb5 commit e315501

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>树状结构思维导图</title>
6+
<style>
7+
ul {
8+
list-style: none;
9+
margin: 0;
10+
}
11+
12+
.tree-diagram ul {
13+
display: flex;
14+
position: relative;
15+
padding: 20px 10px 0 10px;
16+
}
17+
18+
/* 层级竖线 */
19+
.tree-diagram ul li::before {
20+
content: "";
21+
border-right: 1px solid red;
22+
position: absolute;
23+
top: 0;
24+
right: 50%;
25+
height: 20px;
26+
width: 50%;
27+
}
28+
29+
.tree-diagram li {
30+
padding: 20px 10px 0 10px;
31+
position: relative;
32+
display: flex;
33+
flex-direction: column;
34+
align-items: center;
35+
}
36+
37+
/* 每项上方横线和右方竖线 */
38+
.tree-diagram li:before {
39+
content: "";
40+
height: 20px;
41+
width: 50%;
42+
border-right: 1px solid blue;
43+
border-top: 1px solid #333;
44+
position: absolute;
45+
top: 0;
46+
right: 50%;
47+
}
48+
49+
/* 每项上方横线 */
50+
.tree-diagram li::after {
51+
border-top: 1px solid blue;
52+
content: "";
53+
position: absolute;
54+
top: 0;
55+
right: 0;
56+
width: 50%;
57+
}
58+
59+
/* 移除第一项和最后一项上方横线 */
60+
.tree-diagram li:first-child::before,
61+
.tree-diagram li:last-child::after {
62+
border-top: none;
63+
}
64+
65+
/* 去掉根节点上方竖线 */
66+
li.tree-diagram__root::before {
67+
border-right: none;
68+
}
69+
</style>
70+
</head>
71+
<body>
72+
<div class="tree-diagram">
73+
<ul>
74+
<li class="tree-diagram__root">
75+
结构01-1...
76+
<ul>
77+
<li>
78+
结构02-1...
79+
<ul>
80+
<li>结构03-1</li>
81+
<li>结构03-2</li>
82+
<li>
83+
结构03-3
84+
<ul>
85+
<li>结构04-1</li>
86+
<li>结构04-2</li>
87+
<li>结构04-3</li>
88+
</ul>
89+
</li>
90+
</ul>
91+
</li>
92+
<li>结构02-2</li>
93+
</ul>
94+
</li>
95+
</ul>
96+
</div>
97+
</body>
98+
</html>

0 commit comments

Comments
 (0)