aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/svg/element/symbol/index.html
blob: 78f0ab5eb38d1a6643cd6e74ea7442a378b9ad00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
---
title: symbol
slug: Web/SVG/Element/symbol
tags:
  - SVG
  - SVG容器
  - 元素
  - 需要示例
translation_of: Web/SVG/Element/symbol
---
<div>{{SVGRef}}</div>

<p><code>symbol</code>元素用来定义一个图形模板对象,它可以用一个{{ SVGElement("use") }}元素实例化。<code>symbol</code>元素对图形的作用是在同一文档中多次使用,添加结构和语义。结构丰富的文档可以更生动地呈现出来,类似讲演稿或盲文,从而提升了可访问性。注意,一个<code>symbol</code>元素本身是不呈现的。只有<code>symbol</code>元素的实例(亦即,一个引用了<code>symbol</code>的 {{ SVGElement("use") }}元素)才能呈现。</p>

<h2 id="用法">用法</h2>

<p>{{svginfo}}</p>

<h2 id="示例">示例</h2>

<pre class="brush: html">&lt;svg&gt;
&lt;!-- symbol definition  NEVER draw --&gt;
&lt;symbol id="sym01" viewBox="0 0 150 110"&gt;
  &lt;circle cx="50" cy="50" r="40" stroke-width="8" stroke="red" fill="red"/&gt;
  &lt;circle cx="90" cy="60" r="40" stroke-width="8" stroke="green" fill="white"/&gt;
&lt;/symbol&gt;

&lt;!-- actual drawing by "use" element --&gt;
&lt;use xlink:href="#sym01"
     x="0" y="0" width="100" height="50"/&gt;
&lt;use xlink:href="#sym01"
     x="0" y="50" width="75" height="38"/&gt;
&lt;use xlink:href="#sym01"
     x="0" y="100" width="50" height="25"/&gt;
&lt;/svg&gt;
</pre>

<p>{{EmbedLiveSample("Example", 150, 110)}}</p>

<h2 id="属性">属性</h2>

<h3 id="全局属性">全局属性</h3>

<ul>
 <li><a href="/en/SVG/Attribute#Core" title="en/SVG/Attribute#Core">核心属性</a> »</li>
 <li><a href="/en/SVG/Attribute#GraphicalEvent" title="en/SVG/Attribute#GraphicalEvent">图形事件属性</a> »</li>
 <li><a href="/en/SVG/Attribute#Presentation" title="en/SVG/Attribute#Presentation">外观属性</a> »</li>
 <li>{{ SVGAttr("class") }}</li>
 <li>{{ SVGAttr("style") }}</li>
 <li>{{ SVGAttr("externalResourcesRequired") }}</li>
</ul>

<h3 id="专有属性">专有属性</h3>

<ul>
 <li>{{ SVGAttr("preserveAspectRatio") }}</li>
 <li>{{ SVGAttr("viewBox") }}</li>
</ul>

<h2 id="DOM_接口">DOM 接口</h2>

<p>该元素实现了<code><a href="/en/DOM/SVGSymbolElement" title="en/DOM/SVGSymbolElement">SVGSymbolElement</a></code>接口。</p>

<h2 id="浏览器兼容性">浏览器兼容性</h2>

{{Compat("svg.elements.symbol")}}

<h2 id="另见">另见</h2>

<ul>
 <li>{{ SVGElement("marker") }}</li>
 <li>{{ SVGElement("pattern") }}</li>
</ul>