我将如何移动带有元素的 SVG 模式
How would I move an SVG pattern with an element
我创建了这里看到的svg模式:
<pattern id="t" height="20" width="20" patternUnits="userSpaceOnUse" overflow="visible">
<ellipse cx="0" cy="0" rx="20" ry="20" fill="white"/>
<ellipse cx="5" cy="5" rx="15" ry="15" fill="yellow"/>
<ellipse cx="10" cy="10" rx="10" ry="10" fill="blue"/>
<ellipse cx="15" cy="15" rx="5" ry="5" fill="red"/>
</pattern>
然后在我的脚本中,我创建了一个使用该模式的椭圆。 问题是,当我移动椭圆时,图案会静止在椭圆后面,而不是随椭圆一起移动。
如何配置模式以保留元素?
您需要使用 patternContentUnits="objectBoundingBox" 单击此示例中的矩形以查看: http://jsfiddle.net/longsonr/x8nkz/
将 patternContentUnits 更改为 "objectBoundingBox" (vs. userSpaceOnUse)。
更多:patternUnits应该对模式的布局方式没有影响,只有它的尺寸(用户空间单位与边界框单位)。 patternContentUnits是您要设置为"objectBoundingBox"的属性 - 请注意,如果您更改边界框的大小,这将缩放您的模式。如果您不希望发生这种情况,则需要在模式上使用 viewbox 属性 - 这可能是获得您可能正在寻找的结果的正确方法(固定大小的图案,相对于其边界框定位)
(另请注意,根据规范(又名)将溢出设置为可见会导致"未定义"渲染 - 不是您想要做的事情)
相关文章:
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- 如何在不同的设备模式下强制元素的高度
- 在模式框打开之前更改 SVG 元素的颜色,并在框打开时保持该颜色
- 复制要在模式框中显示的父元素
- 输入元素模式属性的Javascript正则表达式在reFiddle上有效,但在页面上无效
- 试图通过模块模式在DOM元素上实现change()事件
- 事件委派模式,在按钮中使用 addEventListener 和嵌套元素
- 查找具有与模式匹配的属性的元素
- 引导模式元素选择
- 使用引导模式防止父 onclick 事件从子元素传播
- 无法在无头模式下使用 watir Webdriver 执行按钮元素的 onclick 事件 javascript
- 弹出模式仅适用于表格中的第一个元素,第二次单击后不会再次打开
- 设计模式下的浏览器将孤立的 LI 元素包装在 UL - Firefox 和 Chrome 中
- 我将如何移动带有元素的 SVG 模式
- 从嵌套数组中获取唯一元素的 JS 模式是什么
- 具有DOM元素的模块化模式
- 如何使用VideoJS使元素在全屏模式下可见
- 输入元素模式属性的行为不象regex
- 如何找到特定的HTML元素模式