javascript - 剪辑路径适用于 Chrome 和 Safari,但不适用于 Firefox

标签 javascript css firefox clip-path

我已经根据数据库数据用 d3 创建了一个 svg,效果很好。但是当放大时,绘制的元素超出了 svg。我想创建一个 clippath 来防止这种情况,这在 Chrome 和 Safari 中有效,但在 Firefox 中情况变得奇怪:

剪辑路径属性应用于 <g> 的子元素(使用 url(#[id of <clippath>]) 值)。当我使用 Firefox 中的 Inspector 在此级别手动应用相同的 clip-path 属性时,它似乎工作正常,但由于某种原因它没有从我的样式表中读取它。 (另外,请注意 Firefox 确实识别应用于样式表中元素的属性 - 它没有将它划掉或任何东西 - 它似乎并不关心!)

我不能改用 overflow 属性,因为出于其他原因我需要它可见。

我的 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> , 这没有区别。

有什么想法吗?

如果有帮助,我也会尝试设置一个 fiddle 。

最佳答案

我好像明白了。我不确定为什么,但是 clip-path 在 Firefox 中似乎只作为元素属性(与样式属性相比)工作——至少对于我的 SVG 元素。

即,当我从

更改它时它会起作用
<g style="clip-path:url(#clip)">

类似于

<g clip-path="url(#clip)">

关于javascript - 剪辑路径适用于 Chrome 和 Safari,但不适用于 Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30583465/

相关文章:

javascript - 链接重定向到错误页面

javascript - 如何停止灯箱中的滚动问题

javascript - 如何专门针对 Firefox 浏览器?

javascript - 错误 : Permission denied to access property 'handler'

html - Firefox 打印表在第二页

javascript - Bootstrap 3 导航折叠不起作用

javascript - 正则表达式匹配末尾有 n 个重复数字的数字

html - 在 Bootstrap 的页面上居中表格

javascript - 带有图像的水平自动收报机 0 速度 onClick js

JavaScript - 动态加载的 CSS : CSS variable not visible for JS but gets evaluated from CSS