我在D3.js中创建了一些河流,并希望它们可点击。所以我创建了一个示例jsfiddle.net/kwoxer/5uc17jwr/19/。
在那里你可以看到河流的鼠标悬停总体上是好的。但问题是当字体大小低于1px
时(例如River 9和River 10),它就不再正确了。不知何故,鼠标悬停是错误的,半径太高了。
因此,在font-size 1px
下面,您实际上可以将鼠标移离文本,并且河流文本仍然会突出显示。
我想知道为什么它会低于1px
以及如何解决这个问题。如果有一些?
答案 0 :(得分:0)
而不是
var projection = d3.geo.equirectangular().translate([80, 0]).scale(220000);
我现在用
var projection = d3.geo.equirectangular().translate([80, 0]).scale(3000000);
并重新取样尺寸而不用手动手动编辑每个尺寸我使用
.attr("font-size", function(d) { return d.properties.size * 11; })
在Firefox中,一切都很完美。当文字不是水平时,只有Chrome仍有问题。然后边界框比文本#2中的文本大得多。但我认为这是Chrome的一个错误。