Распределите блоки в div равномерно, с добавлением динамич c - PullRequest
0 голосов
/ 17 марта 2020

У меня есть функция, которая добавляет новый подузел внизу основного блока. Мне нужно распределить все блоки равномерно, независимо от того, сколько блоков добавлено, 2/3 или 10. Теперь я вычисляю ширину деления контейнера, вычисляю большинство левых и правых координат, а затем добавляю половину умноженной ширины одного блока на индекс блока, но получаю неправильный результат (на скриншоте). Что я делаю не так? Как добиться равномерного распределения блоков?

Часть моего кода расчета:

const branchWidth = parentElement.width * this.flow[nodeIndex].subNodes.length;
const mostLeft = (branchWidth / 2) * -1;
const mostRight = branchWidth / 2;
this.flow[nodeIndex].subNodes.forEach((node, index) => {
    if(index === 0) {
        node.initNode.x = mostLeft
    } else if (index === this.flow[nodeIndex].subNodes.length - 1) {
        node.initNode.x = mostRight
    } else {
        node.initNode.x = mostLeft + (((branchWidth / (this.flow[nodeIndex].subNodes.length - 2)) * index)/ 2)
    }
})

enter image description here

...