树状展开(Tree Expand)通常指的是一种数据结构或界面展示方式,其中数据以树状结构呈现,允许用户展开或折叠不同的层级。在CSS中,可以通过特定的样式和布局技巧来实现这种树状结构的视觉效果。
<ul class="tree">
<li>
<span class="tree-toggle">Node 1</span>
<ul>
<li>Node 1.1</li>
<li>Node 1.2</li>
</ul>
</li>
<li>
<span class="tree-toggle">Node 2</span>
<ul>
<li>Node 2.1</li>
<li>Node 2.2</li>
</ul>
</li>
</ul>
.tree {
list-style: none;
padding: 0;
}
.tree li {
margin: 0;
padding: 5px 0;
}
.tree-toggle {
cursor: pointer;
}
.tree ul {
display: none;
list-style: none;
padding-left: 20px;
}
.tree li.open > ul {
display: block;
}
document.addEventListener('DOMContentLoaded', function() {
const toggles = document.querySelectorAll('.tree-toggle');
toggles.forEach(toggle => {
toggle.addEventListener('click', function() {
const li = this.parentElement;
li.classList.toggle('open');
});
});
});
.tree ul
的display
属性设置为none
,并且.tree li.open > ul
的display
属性设置为block
。.open
类。padding-left
或margin-left
设置,确保子节点有足够的空间正确对齐。DOMContentLoaded
事件。.tree-toggle
元素。通过以上方法,你可以实现一个基本的树状展开效果,并根据需要进行扩展和优化。
领取专属 10元无门槛券
手把手带您无忧上云