首页 > 解决方案 > 树视图设计理念

问题描述

因此,我以与稍后显示的示例相同的方式制作了一个 html 树视图,我想知道是否有人知道如何为其制作更易读/用户友好的设计?我不需要关于如何制作完美设计的解决方案,只需要一些想法或一些有用指南的链接,以了解如何使其看起来更好。

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>

我想知道是否有可能让它看起来像这张照片?

树视图示例

标签: javascripthtmlcsstreeview

解决方案


推荐阅读