• 父节点1…">
    当前位置:首页 > CSS

    css制作树形菜单

    2026-04-02 06:19:37CSS

    使用嵌套列表和CSS样式

    HTML结构使用无序列表<ul>和列表项<li>嵌套实现树形层级:

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

    CSS通过控制子菜单的显示/隐藏实现折叠效果:

    .tree ul {
      display: none; /* 默认隐藏子菜单 */
      padding-left: 20px;
    }
    .tree li {
      list-style-type: none;
      position: relative;
    }
    .tree input[type="checkbox"] {
      position: absolute;
      opacity: 0;
    }
    .tree input:checked ~ ul {
      display: block; /* 展开状态显示 */
    }

    添加交互控制元素

    在HTML中添加复选框控制展开/折叠:

    <li>
      <label>
        <input type="checkbox"> 节点名称
      </label>
      <ul>...</ul>
    </li>

    CSS美化复选框和连接线:

    .tree label:before {
      content: "+";
      margin-right: 5px;
    }
    .tree input:checked ~ label:before {
      content: "-";
    }
    .tree ul {
      border-left: 1px dotted #ccc;
    }

    纯CSS实现方案

    不使用JavaScript的替代方案:

    .tree li {
      cursor: pointer;
    }
    .tree li:before {
      content: "►";
      font-size: 10px;
      color: #666;
    }
    .tree li.open:before {
      content: "▼";
    }
    .tree li.open > ul {
      display: block;
    }

    动画效果增强

    添加平滑过渡效果:

    .tree ul {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
    }
    .tree input:checked ~ ul {
      max-height: 1000px;
    }

    响应式设计考虑

    确保移动端可用性:

    css制作树形菜单

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

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

    相关文章

    vue 菜单实现

    vue 菜单实现

    Vue 菜单实现方法 在Vue中实现菜单功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-for动态生成菜单 通过数据驱动的方式动态渲染菜单项,适合菜单内容可能变化的场景: <t…

    css按钮制作

    css按钮制作

    基础按钮样式 使用CSS创建基础按钮需要定义padding、background-color、border和border-radius等属性。以下是一个简单的按钮样式示例: .button {…

    css 制作字体

    css 制作字体

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

    min.css制作

    min.css制作

    使用 min.css 制作轻量级样式 min.css 是一个极简的 CSS 框架,专注于轻量化和快速加载。以下是如何使用 min.css 进行开发的步骤。 引入 min.css 通过 CDN 直接引…

    使用css制作钢琴块

    使用css制作钢琴块

    使用 CSS 制作钢琴块 钢琴块通常由黑白键交替排列组成,可以通过 HTML 和 CSS 实现。以下是实现钢琴块的步骤: HTML 结构 创建一个包含黑白键的容器,使用 <div> 元素…

    css的制作

    css的制作

    CSS 的基本概念 CSS(层叠样式表)用于控制网页的样式和布局。通过 CSS 可以定义字体、颜色、间距、背景等视觉效果,使 HTML 结构更美观。 CSS 的引入方式 内联样式:直接在 HTML…