创建一个类似于Windows资源管理器的下拉树菜单

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建一个类似于Windows资源管理器的下拉树菜单相关的知识,希望对你有一定的参考价值。

我想知道是否有办法制作类似于树的下拉菜单,类似于使用html / CSS和Bootstrap的Windows资源管理器。

例:

enter image description here

我真的很感激任何帮助。

答案

检查一下!我希望它对你有用

[data-ui-css-component="treeview"] {
  margin: 20px;
  font-family: Verdana;
  font-size: 14px;
  color: #9C27B0;
}
[data-ui-css-component="treeview"] [type=checkbox] {
  display: none;
}
[data-ui-css-component="treeview"] ul {
  padding: 0 0 0 40px;
  display: none;
  list-style: none;
}
[data-ui-css-component="treeview"] ul:first-child {
  padding-left: 0;
}
[data-ui-css-component="treeview"] li {
  padding: 0;
}
[data-ui-css-component="treeview"] li span {
  margin: 2px 0;
  display: list-item;
  list-style: square;
}
[data-ui-css-component="treeview"] label {
  display: inline-block;
  transition: 0.2s;
  padding-right: 10px;
  margin: 5px 0;
  height: 20px;
  line-height: 20px;
  cursor: pointer;
}
[data-ui-css-component="treeview"] label::before {
  display: inline-block;
  margin-right: 5px;
  width: 20px;
  height: 20px;
  text-align: center;
  background: #9C27B0;
  color: #FFF;
}
[data-ui-css-component="treeview"] ul:first-child, [data-ui-css-component="treeview"] [type=checkbox]:checked ~ ul {
  display: block;
}
[data-ui-css-component="treeview"] [type=checkbox]:checked ~ label::before {
  content: "-";
}
[data-ui-css-component="treeview"] [type=checkbox]:not(:checked) ~ label::before {
  content: "+";
}
<div data-ui-css-component="treeview">
  <ul>
    <li>
      <input type="checkbox" id="item1"/>
      <label for="item1">Item 1</label>
      <ul>
        <li>
          <input type="checkbox" id="item1.1"/>
          <label for="item1.1">Item 1.1</label>
          <ul>
            <li><span>Item 1.1.1</span></li>
            <li><span>Item 1.1.2</span></li>
          </ul>
        </li>
        <li>
          <input type="checkbox" id="item1.2"/>
          <label for="item1.2">Item 1.2</label>
          <ul>
            <li><span>Item 1.2.1</span></li>
            <li><span>Item 1.2.2</span></li>
          </ul>
        </li>
      </ul>
    </li>
    <li>
      <input type="checkbox" id="item2"/>
      <label for="item2">Item 2</label>
      <ul>
        <li><span>Item 2.1</span></li>
        <li><span>Item 2.2</span></li>
        <li><span>Item 2.3</span></li>
        <li><span>Item 2.4</span></li>
      </ul>
    </li>
  </ul>
</div>

以上是关于创建一个类似于Windows资源管理器的下拉树菜单的主要内容,如果未能解决你的问题,请参考以下文章

下拉“文件资源管理器”菜单是不是有 PyQt5 小部件?

C++ MFC 改变菜单焦点

如何创建类似资源管理器的文件夹浏览器控件?

带有 WPF 的 Aero 玻璃框架上类似于 Windows 资源管理器的搜索框

下拉菜单不切换且类似于按钮

可选择和可拖动的 jQuery 以创建类似 Windows 资源管理器的窗口