Как сделать - Древовидное представление
Узнать, как создать древовидное представление с помощью CSS и JavaScript.
Древовидное представление
Древовидное представление, представляет собой иерархическое представление информации, где каждый элемент может иметь несколько подэлементов.
Нажмите на стрелку(и), чтобы открыть или закрыть ветви дерева.
- Напитки
- Вода
- Кофе
- Чай
- Черный чай
- Белый чай
- Зеленый чай
- Сенча
- Гекуро
- Матча
- Пи Ло Чун
Вид дерева
Шаг 1) Добавить HTML:
Пример
<ul id="myUL">
<li><span class="caret">Напитки</span>
<ul class="nested">
<li>Water</li>
<li>Кофе</li>
<li><span
class="caret">Чай</span>
<ul
class="nested">
<li>Черный чай</li>
<li>Белый чай</li>
<li><span class="caret">Зеленый чай</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 {
cursor: pointer;
user-select: none; /* Запретить выделение текста */
}
/* Создайте курсор/стрелку с юникодом, и стиль его */
.caret::before {
content: "\25B6";
color: black;
display: inline-block;
margin-right: 6px;
}
/* Поверните значок курсора/стрелки при нажатии (с помощью JavaScript) */
.caret-down::before {
transform: rotate(90deg);
}
/* Скрыть вложенный список */
.nested {
display: none;
}
/* Показать вложенный список, когда пользователь нажимает на курсор стрелку (с 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");
});
}
Редактор кода »
Вид флажков дерева
В этом примере мы используем юникод "ballot box" вместо каретки: