作成方法:ツリー・ビュー

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を使用しています:

インスタンス

自分で試してみる