树状菜单(Tree Menu)是一种常见的用户界面元素,用于展示具有层级关系的数据。它通常以树状结构显示,允许用户通过展开和折叠节点来浏览不同的层次。
树状菜单广泛应用于各种需要展示层级数据的场景,如文件系统、组织结构、产品分类等。
以下是一个简单的树状菜单的CSS示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tree Menu Example</title>
<style>
ul.tree-menu {
list-style-type: none;
padding-left: 20px;
}
ul.tree-menu li {
margin-bottom: 5px;
}
ul.tree-menu li::before {
content: "├";
margin-right: 5px;
}
ul.tree-menu li:last-child::before {
content: "└";
}
ul.tree-menu ul {
display: none;
}
ul.tree-menu li.expanded > ul {
display: block;
}
</style>
</head>
<body>
<ul class="tree-menu">
<li>Parent 1
<ul>
<li>Child 1.1</li>
<li>Child 1.2
<ul>
<li>Grandchild 1.2.1</li>
<li>Grandchild 1.2.2</li>
</ul>
</li>
</ul>
</li>
<li>Parent 2
<ul>
<li>Child 2.1</li>
<li>Child 2.2</li>
</ul>
</li>
</ul>
<script>
document.querySelectorAll('.tree-menu li').forEach(li => {
li.addEventListener('click', function() {
this.classList.toggle('expanded');
});
});
</script>
</body>
</html>
原因:可能是JavaScript事件绑定或CSS样式设置不正确。
解决方法:
display: none
和display: block
能够正确应用。原因:可能是CSS选择器或样式冲突。
解决方法:
!important
来解决。通过以上内容,你应该能够更好地理解树状菜单的CSS实现及其相关问题。
领取专属 10元无门槛券
手把手带您无忧上云