9
所以我有一個<g>
元素,裏面有一些<rect>s
,它們都有相同的填充顏色,但可以是不同的大小。我想重複使用<g>
,但用不同的顏色填充它,有可能嗎?SVG重用一個組但改變填充顏色
我可以以任何我喜歡的方式更改標記。
所以我有一個<g>
元素,裏面有一些<rect>s
,它們都有相同的填充顏色,但可以是不同的大小。我想重複使用<g>
,但用不同的顏色填充它,有可能嗎?SVG重用一個組但改變填充顏色
我可以以任何我喜歡的方式更改標記。
您可以定義使用<defs>
的矩形組,像這樣:
<defs>
<g id="rect-group">
<rect x="0" y="0" width="60" height="30"/>
<rect x="20" y="10" width="20" height="50"/>
</g>
</defs>
然後你可以用這組多次,將它放在不同的地方與transform
,如果你喜歡:
<g class="group-1" transform="translate(10.5,20.5)">
<use xlink:href="#rect-group" />
</g>
<g class="group-2" transform="translate(55.5,32.5)">
<use xlink:href="#rect-group" />
</g>
您可以直接設置這些組的樣式,也可以按照以上方式爲它們分配不同的類並使用CSS進行設置:
<style>
.group-1{
fill: red;
stroke: white;
}
.group-2{
fill: blue;
stroke: black;
}
</style>
謝謝!奇蹟般有效!你能告訴你爲什麼使用轉換而不是x/y嗎? –
我不認爲你可以將x/y添加到組中,對嗎?使用變換意味着您可以將組放在不同的位置,並且還可以執行諸如transform =「rotate(45)」之類的操作,以便旋轉組。 –
x/y對羣體工作正常 –