javascript - 动态 SVG 元素未正确使用 mask

标签 javascript jquery html css svg

我正在为我的自定义、内联创建的 SVG 使用 SVG 填充 mask ,这是 fiddle

http://jsfiddle.net/m3jrm1ow/

但我可以让它动态工作,而且 firefox 的渲染方式似乎与 chrome 不同?我查看了生成的代码,但我只能说存在 url() 函数问题

只有当它从静态创建的掩码 ID 中获取 url 时,中间列才会正确孵化

<svg width="0" height="0">
    <defs>
        <pattern height="3" width="3" patternUnits="userSpaceOnUse" id="stripe1">
            <line y2="0" x2="3" y1="3" x1="0" stroke-width="1px" stroke="white" fill="white"></line>
        </pattern>
        <mask maskUnits="userSpaceOnUse" id="mask1">
            <rect fill="url(#stripe1)" height="1000" width="1000"></rect>
        </mask>
    </defs>
</svg>

所以我希望所有列在所有浏览器上呈现相同,

  • 第一列应使用动态掩码动态创建
  • 第二列应按原样呈现(现在不在 chrome 中呈现)
  • 第三列应该使用第一列创建的掩码

我真的在研究一个有点不同的问题,但是当我开始组装 fiddle 时,结果完全不正常......

最佳答案

在标记中,您的掩码矩形的宽度/高度为 1000。在动态情况下为 0。即

.attr("width", "0")
.attr("height", "0")

将这些更改为 1000 即可。

关于javascript - 动态 SVG 元素未正确使用 mask ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27468586/

相关文章:

jquery - 空字段和数字字段的过滤功能

javascript - 如何一次只打开一个下拉内容框?

html - 如何将广告添加到我在大学校园的本地连接上托管的本地站点?

javascript - 内联 SVG 动画 : Compatibility Oddities

javascript - 屏幕阅读器 - jquery 弹出窗口

javascript - 按下回车时获取 OnClick 事件 (IE)

c# - MVC4 验证不起作用

javascript - div 里面的 div,搞砸了

Javascript/JQuery Datagrid 在数据表中显示/编辑/输入

javascript - 获取 CKEditor 内容? -jQuery