JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css">
<div id="my div " class="container"></div>
CSS
body {
font-family:'Open Sans', sans-serif;
font-size:14px;
font-weight:600;
}
ul, li {
margin:0;
list-style-type:none;
position:relative;
}
i {
margin-right:10px;
transition: all 0.25s ease-in-out;
-webkit-transition: all 0.25s ease-in-out;
-moz-transition: all 0.25s ease-in-out;
}
.tree_view li a, .tree_view li ul li a {
display:block;
width:100%;
}
.tree_view li, .tree_view li ul li {
/* border-left:dashed 1px #0266C8;
*/
}
.tree_view li:nth-child(odd) a, .tree_view li ul li:nth-child(even) a .tree_view li ul li:nth-child(odd) a, .tree_view li ul li ul li:nth-child(even) a {
/*background:#ECADAE;*/
}
.tree_view li {
background:#fff !important;
}
.tree_view li:nth-child(even) a, .tree_view li ul li:nth-child(odd) a, .tree_view li ul li:nth-child(even) a, .tree_view li ul li ul li:nth-child(odd) a {
/*background:#C2F5DE;*/
}
.tree_view li a {
/* border-left:dashed 1px #0266C8;
*/
padding-left:10px;
padding-top:5px;
padding-bottom:5px;
}
.tree_view li a:first-child, .tree_view li ul li a:first-child {
border-left:0;
}
.tree_view li ul li ul {
margin:0;
padding-left:30px;
}
.tree_view li ul li a {
/*border-bottom:dashed 1px #0266C8;/*/
padding-top:5px;
padding-bottom:5px;
}
.tree_view li ul li ul li a i {
margin-left:10px;
margin-right:10px;
}
.tree_view li a:hover, .tree_view li ul li a:hover {
background:#E5E5E5;
color:#00933B;
transition: all 0.25s ease-in-out;
-webkit-transition: all 0.25s ease-in-out;
-moz-transition: all 0.25s ease-in-out;
}
.tree_view li a:hover i, .tree_view li ul li a:hover i {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-o-transform: rotate(360deg);
-ms-transform: rotate(360deg);
}
a {
color:#0266C8;
}
.open {
color:#F90101;
background:#E7E7E7;
/*border:dashed 1px #b8b8b8;*/
}
JavaScript
var obj = [{
"name": "Main",
"Subtree": [{
"name": "Subtree0",
"Subtree": [{
"name": "Subtree9-Subtree0",
"Subtree": null
}, {
"name": "Subtree9-Subtree1",
"Subtree": null
}, {
"name": "Subtree9-Subtree2",
"Subtree": [{
"name": "Subtree9-Subtree0",
"Subtree": null
}, {
"name": "Subtree9-Subtree1",
"Subtree": null
}, {
"name": "Subtree9-Subtree2",
"Subtree": [{
"name": "Subtree9-Subtree0",
"Subtree": null
}, {
"name": "Subtree9-Subtree1",
"Subtree": null
}, {
"name": "Subtree9-Subtree2",
"Subtree": null
}, {
"name": "Subtree9-Subtree3",
"Subtree": null
}, {
"name": "Subtree9-Subtree4",
"Subtree": null
}, {
"name": "Subtree9-Subtree5",
"Subtree": null
}, {
"name": "Subtree9-Subtree6",
"Subtree": null
}, {
"name": "Subtree9-Subtree7",
"Subtree": null
}, {
"name": "Subtree9-Subtree8",
"Subtree": null
}]
}, {
"name": "Subtree9-Subtree3",
"Subtree": null
}, {
"name": "Subtree9-Subtree4",
"Subtree": null
}, {
"name": "Subtree9-Subtree5",
"Subtree": null
}, {
"name": "Subtree9-Subtree6",
...