So I've made a html treeview the same way as the example shown later, and I'm wondering if someone had an idea on how to make a more readable/user friendly design for it? I don't need a solution on how to make the perfect design, just some ideas, or links to some usefull guides on how to make this look better.
var toggler = document.getElementsByClassName("caret");
var i;
for (i = 0; i < toggler.length; i++) {
toggler[i].addEventListener("click", function() {
this.parentElement.querySelector(".nested").classList.toggle("active");
this.classList.toggle("caret-down");
});
}
ul, #myUL {
list-style-type: none;
}
#myUL {
margin: 0;
padding: 0;
}
.caret {
cursor: pointer;
-webkit-user-select: none; /* Safari 3.1+ */
-moz-user-select: none; /* Firefox 2+ */
-ms-user-select: none; /* IE 10+ */
user-select: none;
}
.caret::before {
content: "\25B6";
color: black;
display: inline-block;
margin-right: 6px;
}
.caret-down::before {
-ms-transform: rotate(90deg); /* IE 9 */
-webkit-transform: rotate(90deg); /* Safari */'
transform: rotate(90deg);
}
.nested {
display: none;
}
.active {
display: block;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<ul id="myUL">
<li><span class="caret">Item 1</span>
<ul class="nested">
<li>Sub item 1.1</li>
<li>Sub item 1.2</li>
<li><span class="caret">Sub item 1.3</span>
<ul class="nested">
<li>Sub item 1.1.1</li>
<li>Sub item 1.1.2</li>
<li><span class="caret">Sub item 1.1.1.1</span>
<ul class="nested">
<li>Sub item 1.1.1.1.1</li>
<li>Sub item 1.1.1.1.2</li>
<li>Sub item 1.1.1.1.3</li>
<li>Sub item 1.1.1.1.4</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</body>
</html>
I was wondering if it would be possible to make it look somthing like this picture?
