如何创建:树视图
学习如何使用 CSS 和 JavaScript 创建树视图。
树视图
树视图表示信息的层次结构视图,其中每个项目可以有多个子项目。
单击箭头可打开或关闭树分支。
- Beverages
- Water
- Coffee
- Tea
- Black Tea
- White Tea
- Green Tea
- Sencha
- Gyokuro
- Matcha
- Pi Lo Chun
树视图
第一步 - 添加 HTML:
<ul id="myUL"> <li><span class="caret">Beverages</span>
-
<li>Water</li>
<li>Coffee</li>
<li><span class="caret">Tea</span>
- Sencha
- Gyokuro
- Matcha
- Pi Lo Chun
-
<li>Black Tea</li>
<li>White Tea</li>
<li><span class="caret">Green Tea</span>
第二步 - 添加 CSS:
/* 移除默认项目符号 */ ul, #myUL { list-style-type: none; } /* 移除父级 ul 的外边距和内边距 */ #myUL { margin: 0; padding: 0; } /* 设置 caret/箭头的样式 */ .caret { cursor: pointer; user-select: none; /* 防止文本选择 */ } /* 使用 unicode 创建 caret/箭头,并设置其样式 */ .caret::before { content: "\25B6"; color: black; display: inline-block; margin-right: 6px; } /* အရိပ်/အမှူး အမှတ်ပုံ တစ်ခု စွပ်ဆိုချိန်တွင် အားနည်းထား */ .caret-down::before { transform: rotate(90deg); } /* သင်္ကေတ အော်စ်ကို အားနည်းထား */ .nested { display: none; } /* အသုံးပြုသူ အရိပ်/အမှူး တစ်ခု စွပ်ဆိုချိန်တွင် အသုံးပြုရာ သင်္ကေတ အော်စ်ကို ပြသထား */ .active { display: block; }
တတိယပြိုင်း - ဂျာမန်စကားဝါဒ ထပ်ထည့်ပေးခြင်း
var toggler = document.getElementsByClassName("caret"); var i; for (i = 0; i < toggler.length; i++) { toggler[i].addEventListener("click", function() { this.parentElement.querySelector(".nested").classList.toggle("active"); this.classList.toggle("caret-down"); }); }
ခွဲခြားသုံးစွဲရာ ဈေးနှုန်းပြထုံး
在这个例子中,我们使用一个“投票箱” unicode 而不是 caret: