【发布时间】:2018-05-14 12:19:21
【问题描述】:
我正在尝试在 HTML 页面中组合“符号”和“使用”SVG 元素,但我似乎无法让它发挥作用。
我在页面顶部的 div 中使用“符号”声明了原始图形,然后使用“使用”调用它。原始图形随即显示。
当我尝试进一步向下重复时,它不会显示。但是,当我检查页面时,尽管它没有显示/渲染并且 svg 'shadow root' 正在显示,但仍有一些空间被分配给这个元素。
任何帮助都会很棒。
#box1, #box2 {width: 300px;}
<div id="box1">
<symbol id="shapes-square" viewBox="0 0 352.16 240.77">
<svg id="square" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 195.74 129.42">
<title>Blue Square</title>
<rect x="0.5" y="0.5" width="194.74" height="128.42" fill="blue" stroke="#000" stroke-miterlimit="10"/>
</svg>
</symbol>
</div>
<!-- Declare Initial 'use' of SVG -->
<svg>
<use href="#shapes-square" />
</svg>
<br />
<!-- Div to hold the second 'use' of the SVG -->
<div id="box2">
<svg>
<use href="#shapes-square" />
</svg>
</div>
【问题讨论】:
-
@Chenmunka 请不要建议编辑删除标签。这需要至少三个人来审核,而具有 >2k rep 的人可以单独进行这些编辑。我们感谢您愿意合作,但很遗憾这不是正确的方式。