作成方法:ツリー・ビュー
CSSとJavaScriptを使ってツリー・ビューを作成する方法を学びます。
树视图
ツリー・ビューは、各項目に複数のサブ項目を持つ情報の階層構造を表すビューです。
矢印をクリックすると、ツリーの枝を開閉できます。
- 飲料
- 水
- コーヒー
- 茶
- 紅茶
- 白茶
- 緑茶
- Sencha
- Gyokuro
- Matcha
- Pi Lo Chun
树视图
第一步 - 添加 HTML:
<ul id="myUL"> <li><span class="caret">Beverages</span> <ul class="nested"> <li>Water</li> <li>Coffee</li> <li><span class="caret">Tea</span> <ul class="nested"> <li>Black Tea</li> <li>White Tea</li> <li><span class="caret">Green Tea</span> <ul class="nested"> <li>煎茶</li> <li>玉露</li> <li>マッチャ</li> <li>ピ・ロ・チュン</li> </ul> </li> </ul> </li> </ul> </li> </ul>
第2ステップ - 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/矢印アイコンをクリックしたときに、それを回転(JavaScriptを使用) */ .caret-down::before { transform: rotate(90deg); } /* ネストリストを非表示にする */ .nested { display: none; } /* ユーザーがcaret/矢印をクリックしたときに、ネストリストを表示(JavaScriptを使用) */ .active { display: block; }
第3ステップ - JavaScriptを追加:
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"); }); }
チェックボックスツリー・ビューワ
この例では、caretではなく「投票箱」Unicodeを使用しています: