У меня есть требование для отображения иерархии проектов.Очевидное решение - это ряд вложенных неупорядоченных списков.Однако проблема, которую мне нужно преодолеть, заключается в том, что значение узла должно быть выровнено по всему дереву с отступом имени проекта, как и ожидалось в дереве.Вот пример
Project Root Node
1 Task 1
1.1 Travel
1.2 Do Work
2 Task 2
2.1 Perform Testing
2.1.1 UI Testing
2.1.2 Connection Testing
Разметка довольно проста ...
<ul>
<li><span></span>Project Root Node
<ul>
<li><span>1</span>Task 1
<ul>
<li><span>1.1</span>Travel</li>
<li><span>1.2</span>Do Work</li>
</ul>
</li>
...and so on...
Отключить пули легко.Выравнивание по левому краю каждые li легко.Но проблема состоит в том, чтобы заставить диапазон оставаться влево, в то время как текст после диапазона правильно сдвигается и выравнивается для этого уровня.
Самое близкое, что я мог получить, это то, что диапазон для каждого уровня имеет одинаковыйколичество символов, которое я мог бы просто добавить правое поле, и это подтолкнуло бы следующий текст.Проблема заключается в том, что, поскольку символы в диапазоне немного различаются по ширине, текст может располагаться на расстоянии одного или двух пикселей по вертикали от строки выше или ниже.
Другое решение, которое у меня было, заключалось в том, чтобы включить "level number "класс при рендеринге элемента li вместе с соответствующим стилем, который устанавливает inline-block и width.Моя проблема заключается в том, что я определил достаточно уровней, чтобы охватить любую глубину дерева.