对于 SVG<rect>
容器,fill
用<pattern>
标签制作的背景似乎是相对于整体视图开始的。
<pattern>
相对于容器来说,最干净的开始方法是什么<rect>
?
目标是能够让多个<rect>
容器重复使用,<pattern>
这样每个容器都从容器的左上角开始渲染相同的背景。下面是一个示例 SVG,其中有两个<rect>
容器装满了弹珠。
SVG:
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
width="400px" height="250px" viewBox="0 0 400 250">
<defs>
<pattern id="marbles" width="50" height="50"
patternUnits="userSpaceOnUse">
<circle cx="25" cy="25" r="22" fill="plum" stroke="black"/>
</pattern>
</defs>
<rect width="100%" height="100%" fill="teal"/>
<rect x="10" y="10" width="150" height="100" fill="url(#marbles)"/>
<rect x="90" y="120" width="250" height="100" fill="url(#marbles)"/>
</svg>
后台fill
忽略容器的x
和属性。y
rect
使用代码进行实验:
https://jsfiddle.net/pilafmon/b5edq3go/
使用变换来定位矩形元素而不是 x 和 y。