当前位置:首页 > CSS

html css制作树

2026-04-02 16:18:48CSS

HTML和CSS制作树形结构

使用HTML和CSS可以创建树形结构,通常用于展示层级关系,如组织结构图、文件目录等。以下是几种实现方法:

使用无序列表嵌套

html css制作树

<div class="tree">
  <ul>
    <li>
      <span>根节点</span>
      <ul>
        <li><span>子节点1</span></li>
        <li><span>子节点2</span></li>
      </ul>
    </li>
  </ul>
</div>
.tree ul {
  padding-left: 20px;
  list-style: none;
}

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

.tree li::before {
  content: "";
  position: absolute;
  top: 0;
  left: -15px;
  width: 15px;
  height: 1px;
  background: #000;
}

.tree li:first-child::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -15px;
  width: 1px;
  background: #000;
}

使用Flexbox布局

html css制作树

<div class="tree">
  <div class="node">根节点</div>
  <div class="children">
    <div class="tree">
      <div class="node">子节点1</div>
    </div>
    <div class="tree">
      <div class="node">子节点2</div>
    </div>
  </div>
</div>
.tree {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.node {
  padding: 5px 10px;
  border: 1px solid #ccc;
  margin-bottom: 5px;
}

.children {
  display: flex;
  position: relative;
}

.children::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 1px;
  height: 5px;
  background: #000;
}

.tree + .tree::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 0;
  right: 50%;
  height: 1px;
  background: #000;
}

使用伪元素连接节点

.tree li {
  position: relative;
  padding-left: 30px;
}

.tree li::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 0;
  width: 1px;
  height: 100%;
  background: #999;
}

.tree li::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  width: 15px;
  height: 1px;
  background: #999;
}

.tree li:last-child::before {
  height: 50%;
}

添加交互效果

可以为树形结构添加展开/折叠功能:

.tree input[type="checkbox"] {
  display: none;
}

.tree label {
  cursor: pointer;
}

.tree input ~ ul {
  display: none;
}

.tree input:checked ~ ul {
  display: block;
}
<div class="tree">
  <input type="checkbox" id="node1" checked>
  <label for="node1">根节点</label>
  <ul>
    <li>子节点1</li>
    <li>子节点2</li>
  </ul>
</div>

这些方法可以根据需要组合使用,调整样式和结构以满足具体的设计需求。

标签: htmlcss
分享给朋友:

相关文章

css网页制作教程下载

css网页制作教程下载

CSS网页制作教程下载资源推荐 免费在线教程平台 W3Schools(www.w3schools.com/css/)提供交互式CSS教程,涵盖基础到高级内容,支持在线练习。 MDN Web Docs(…

css制作扇形图

css制作扇形图

使用CSS制作扇形图 方法一:使用clip-path和transform 通过CSS的clip-path和transform属性可以快速实现扇形效果。定义一个圆形元素,然后裁剪出扇形部分。 .fan…

友情链接css制作

友情链接css制作

友情链接CSS制作 友情链接是网站之间互相推广的一种方式,通常以文字或图片形式展示。通过CSS可以美化友情链接的样式,使其更符合网站整体设计风格。 文字链接样式 设置文字链接的基础样式,包括颜色、…

css制作锁屏页面

css制作锁屏页面

使用CSS制作锁屏页面 锁屏页面通常包含一个背景、时间显示以及可能的解锁按钮或输入框。以下是实现锁屏页面的关键CSS代码和结构。 HTML结构 <!DOCTYPE html> <…

css制作靶子

css制作靶子

CSS 制作靶子 使用 CSS 可以轻松创建一个靶子效果,主要通过嵌套的圆形元素和背景色实现。以下是实现方法: HTML 结构 <div class="target"> <d…

css 制作按钮

css 制作按钮

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