我已经基于 db 数据创建了一个带有 d3 的 svg,效果很好。但是在放大时,已绘制的元素超出了 svg。我想创建一个剪贴路径来防止这种情况,它适用于 Chrome 和 Safari,但在 Firefox 中事情变得很奇怪:
clip-path 属性应用于 a 的子元素<g>
(使用url(#[id of <clippath>])
值)。当我在 Firefox 中使用 Inspector 在此级别手动应用相同的剪辑路径属性时,它似乎工作正常,但由于某种原因它没有从我的样式表中读取它。(另外,请注意,Firefox 确实识别出应用于样式表中元素的属性 - 它并没有将其划掉或其他任何东西 - 它似乎并不在意!)
我不能改用溢出属性,因为出于其他原因我需要它可见。
我的 CSS:
#sectionID g.groupClass1 elements,
#sectionID g.groupClass2 elements,{
clip-path: url(#clip);
}
我的 JS:
svgSelector.append("defs").append("clipPath")
.attr("id","clip")
.append("rect")
.attr("x", 0)
.attr("y", 0)
.attr("width", 500)
.attr("height", 500);
我也试过没有<defs>
,这没有任何区别。
有任何想法吗?
如果有帮助,我也会尝试设置一个小提琴。