• 父节点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中添加复选框控制展开/折叠:

    css制作树形菜单

    <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的替代方案:

    css制作树形菜单

    .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;
    }

    响应式设计考虑

    确保移动端可用性:

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

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

    相关文章

    css菜单制作

    css菜单制作

    基础水平菜单制作 使用无序列表<ul>和<li>标签构建结构,CSS设置横向排列: <ul class="horizontal-menu"> <li&g…

    css制作圆形

    css制作圆形

    使用 border-radius 属性 通过设置 border-radius 为 50%,可以将元素变为圆形。元素的宽度和高度需相同,否则会呈现椭圆形。 .circle { widt…

    网页制作教程css

    网页制作教程css

    CSS 基础概念 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。通过将样式与 HTML 结构分离,提升代码可维护性。 CSS 引入方式 内联样式:直接在 HTML 标签中使…

    css背景图片制作

    css背景图片制作

    使用CSS设置背景图片 在CSS中,可以通过background-image属性为元素添加背景图片。以下是一个基本示例: .element { background-image: url('pa…

    css导航制作

    css导航制作

    水平导航栏制作 使用无序列表 <ul> 和 <li> 标签构建基础结构,通过 CSS 移除默认样式并设置横向排列: <ul class="horizontal-nav"…

    css动画制作

    css动画制作

    CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例: @keyframes example { 0% {bac…