Почему отступ дерева остаётся после удаления level

Отступ может задаваться стилями ul, в том числе браузерными по умолчанию, и накапливаться за счёт вложенной DOM-структуры. Level не является единственным способом создания отступа.

Короткий ответ

Что ответить на собеседовании

Отступ может задаваться стилями ul, в том числе браузерными по умолчанию, и накапливаться за счёт вложенной DOM-структуры. Level не является единственным способом создания отступа.

Подробный разбор

Ответ с пояснениями

Условие

У рекурсивного списка убрали JS-расчёт marginLeft по level, но каждый узел по-прежнему содержит вложенный ul. Визуальные отступы сохранились. Где искать причину?

Ответ

Отступ может задаваться стилями ul, в том числе браузерными по умолчанию, и накапливаться за счёт вложенной DOM-структуры. Level не является единственным способом создания отступа.

Посмотрите computed styles для padding-inline-start, margin и правил родительского контейнера. Временно отключайте по одному свойству, чтобы установить источник. Если нужна единая схема, либо используйте естественную вложенность с одним CSS-правилом, либо плоский список с явной глубиной, не смешивая оба подхода случайно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее