HTML提供了定义标题、段落、表格等等内容的元素。与此类似,SVG也提供了一些元素,用于定义圆形、矩形、曲线,以及其他形状。一个简单的SVG文档由<svg>根元素和基本的形状元素构成。另外还有一个g元素,它用来把若干个基本形状编成一个组。
<svg version="1.1"
baseProfile="full"
width="300" height="200"
xmlns="http://www.w3.org/2000/svg">
<rect width="100%" height="100%" fill="red" />
<circle cx="150" cy="100" r="80" fill="green" />
<text x="150" y="125" font-size="60" text-anchor="middle" fill="white">SVG</text>
</svg>
在react中,注意得把 font-size 写成 fontSize
SVG文件全局有效的规则是“后来居上”,越后面的元素越可见。
如果HTML声明类型为application/xhtml+xml,可以直接把SVG嵌入到XML源码中。
如果HTML是HTML5并且浏览器支持HTML5,同样可以直接嵌入SVG。然而为了符合HTML5标准,可能需要做一些语法调整。
通过 object 元素引用SVG文件:<object data="image.svg" type="image/svg+xml" />
使用 iframe 元素引用SVG文件:<iframe src="image.svg"></iframe>
<svg width="200" height="200" viewBox="0 0 100 100">
这里定义的画布尺寸是200*200px。但是,viewBox属性定义了画布上可以显示的区域:从(0,0)点开始,100宽*100高的区域。这个100*100的区域,会放到200*200的画布上显示。于是就形成了放大两倍的效果。
https://developer.mozilla.org/zh-CN/docs/Web/SVG/Tutorial/Basic_Shapes
https://developer.mozilla.org/zh-CN/docs/Web/SVG/Tutorial/Introduction
https://developer.mozilla.org/zh-CN/docs/Web/SVG/Tutorial/Basic_Shapes