Я работаю над радиальным складным деревом в использовании d3.js. Вот как это выглядит до сих пор: Как видно, красным цветом видно, что текст перекрывает ссылки. Я хочу, чтобы текст был «выделен» в фоновом цвете, так что ссылки не будут отображаться там, где текст.D3.js: Рисование прямоугольников под текстом
До сих пор я попытался выделить текст, используя background-color в CSS и в формате .style().
.node text {
background-color: yellow;
font: 12px sans-serif;
}
Я также попытался нарисовать прямоугольник размера текста перед нанесением текста, как показано на Mike Босток-х bar chart. Тем не менее, когда я выполняю код, прямоугольников нигде не найти, даже в исходном коде с помощью инструмента разработчика хром (для кругов есть тег <circle>
, но не тег прямоугольника).
См. Здесь JSFiddle часть кода. Я сделал прямоугольник желтым в CSS, чтобы видеть лучше, если он работает, хотя я не смог заставить его работать.
Код прямоугольников являются следующие:
.node rect {
fill: yellow;
}
nodeEnter.select("rect")
.attr("height", 15)
.attr("width", 200)
.attr("transform", function(d) { return d.x < 180 ? "translate(0)" : "rotate(180)translate(-" + (d.name.length + 50) + ")"; })
//.style("fill","yellow")
;
и
nodeUpdate.select("rect")
.attr("height", 15)
.attr("width", 200)
.attr("transform", function(d) { return d.x < 180 ? "translate(0)" : "rotate(180)translate(-" + (d.name.length + 50) + ")"; })
//.style("fill","yellow")
;
Спасибо, теперь я чувствую себя глупо за то, что в первую очередь ... Ты изменил что-нибудь еще? прямоугольники, похоже, вписываются в скрипку, но не в мой фактический код, и там не так уж и много. – MorganFR
Да, я изменил размеры прямоугольников. –