【发布时间】:2019-11-29 00:19:53
【问题描述】:
我有一些使用 fill="url(#background) 平铺图像背景的 SVG 对象,其中我将 #background 定义为仅包含 image 的 pattern。
但是,当对象通过设置其x/y 属性(或cx/cy,或任何其他定义偏移量)重新定位时,背景不会随之移动。
如何让背景也移动?从How would I move an SVG pattern with an element 我尝试设置patternContentUnits='objectBoundingBox' 但这只是将图像变成纯色斑点(奇怪的是,根据图像着色,好像它只是第一个像素或类似的东西)。
这是一个 jsfiddle 说明所有这些 - 顶部 rect 已变成纯色,然后底部 rect 具有背景图像,但它不会与 rect 一起移动:
我知道,如果您使用 transform="translate(...)" 而不是设置 x/y 属性,背景确实也会被翻译,但我正在使用的现有代码库不使用 translate 进行定位(它会对应用程序的其余部分产生其他意想不到的后果)。
提前感谢您的帮助。
【问题讨论】:
标签: javascript svg