当前位置:首页 > CSS

制作树形菜单css

2026-03-12 08:32:17CSS

树形菜单的基本结构

HTML结构通常使用嵌套的无序列表(<ul><li>)实现树形层级。以下是一个基础示例:

<ul class="tree">
  <li>父节点1
    <ul>
      <li>子节点1</li>
      <li>子节点2</li>
    </ul>
  </li>
  <li>父节点2</li>
</ul>

核心CSS样式

通过CSS控制缩进和交互效果:

.tree, .tree ul {
  list-style-type: none;
  padding-left: 20px;
}

.tree li {
  position: relative;
  margin: 5px 0;
}

.tree li:before {
  content: "";
  position: absolute;
  left: -15px;
  top: 10px;
  border-top: 1px solid #ccc;
  width: 15px;
}

展开/折叠功能实现

添加点击交互控制子菜单显示:

.tree ul {
  display: none;
}

.tree li.active > ul {
  display: block;
}

.tree li:after {
  content: "+";
  position: absolute;
  left: -20px;
  cursor: pointer;
}

.tree li.active:after {
  content: "-";
}

视觉增强样式

添加连接线和图标美化:

.tree li {
  border-left: 1px dashed #999;
  padding-left: 25px;
}

.tree li:last-child {
  border-left: none;
}

.tree li:before {
  height: 1px;
  background: #999;
}

完整交互示例

结合JavaScript实现动态切换:

document.querySelectorAll('.tree li').forEach(item => {
  if (item.querySelector('ul')) {
    item.addEventListener('click', function(e) {
      e.stopPropagation();
      this.classList.toggle('active');
    });
  }
});

响应式调整

针对移动端优化显示效果:

制作树形菜单css

@media (max-width: 768px) {
  .tree li {
    padding-left: 15px;
    font-size: 14px;
  }
}

标签: 菜单css
分享给朋友:

相关文章

css制作导航栏

css制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏。设置背景色、内边距和悬停效果增强交互性。 <nav class="horizontal-nav…

css制作表格

css制作表格

使用HTML和CSS创建表格 HTML中的<table>元素用于创建表格,结合CSS可以调整样式。以下是一个基础示例: <table> <tr> &l…

css 制作字体

css 制作字体

使用CSS自定义字体 在CSS中,可以通过@font-face规则引入自定义字体,并使用font-family属性应用这些字体。 @font-face { font-family: 'MyCus…

怎么制作css文档

怎么制作css文档

创建CSS文档的基本步骤 新建一个纯文本文件,将文件后缀名改为.css,例如styles.css。使用代码编辑器(如VS Code、Sublime Text等)打开文件,开始编写CSS规则。 编写C…

css继承制作教程

css继承制作教程

CSS继承的基本概念 CSS继承是指某些CSS属性可以从父元素传递到子元素的特性。并非所有属性都支持继承,但常见的文本相关属性(如font-family、color)默认具有继承性。通过合理利用继承,…

怎么用css制作网页

怎么用css制作网页

使用CSS制作网页的基本方法 CSS(层叠样式表)用于控制网页的样式和布局。以下是一些基本步骤和方法: 创建CSS文件 新建一个后缀为.css的文件,例如style.css。在HTML文件中通过&l…