Итак, у нас есть два текстовых элемента в прямоугольнике.Первый текстовый элемент - это значок шрифта, похожий на кружок, второй - текст.Теперь мы хотим выровнять это в центре прямоугольника так, чтобы сначала шел круг, а затем текст (как точка с маркером).Однако, как нам это сделать в этом случае
percentageEntering
.append('svg:rect')
.style('fill', '#F3F3F4')
.attr('width', width)
.attr('height', height);
percentageEntering
.append('svg:text')
.attr('x', width / 2)
.attr('y', height / 2)
.attr('dy', '0.35em')
.attr('text-anchor', 'middle')
.attr('font-family', 'Material Icons')
.style('font-size', '20px')
.style('fill', d => this.subBreadcrumbPercentageColors[d.depth])
.text('some_icon');
percentageEntering
.append('svg:text')
.attr('x', width / 2)
.attr('y', height / 2)
.attr('dy', '0.35em')
.attr('text-anchor', 'middle')
.style('font-size', d => {
const size = ((legendData.length - 2) > 0)
? 12 - (legendData.length - 2)
: 12;
return `${size}px`;
})
.text(d => {
return d.quantity + ' - ' + d.name + ((nodeArray.length === 3) ? ' %' : '');
});
РЕДАКТИРОВАТЬ После изменений, предложенных @Gerardo, следующий вывод.Итак, сначала я должен был добавить
![enter image description here](https://i.stack.imgur.com/hTj6M.png)
.style('font-family', "'open sans'")
Чтобы текст не использовал шрифты значков, также в дополнение к этому (например: - some_icon
представляет значок).Итак, как я могу убедиться, что эти стили не распространяются на ребенка?И заметил, что текст расположен не по центру, для которого при добавлении параметра y
значок и текст перекрываются.