svg
简介
HTML提供了定义标题、段落、表格等等内容的元素。与此类似,SVG也提供了一些元素,用于定义圆形、矩形、曲线,以及其他形状。一个简单的SVG文档由根元素和基本的形状元素构成。另外还有一个g元素,它用来把若干个基本形状编成一个组。
- SVG的元素和属性必须按标准格式书写,因为XML是区分大小写的(这一点和html不同)
- SVG里的属性值必须用引号引起来,就算是数值也必须这样做。
第一个例子:
[InvalidCharacterError: "<" did not match the Name production] SVG
baseProfile="full"
width="300" height="200"
xmlns="http://www.w3.org/2000/svg">
在react中,注意得把 font-size 写成 fontSize
显示SVG
SVG文件全局有效的规则是“后来居上”,越后面的元素越可见。
- 如果HTML声明类型为application/xhtml+xml,可以直接把SVG嵌入到XML源码中。
- 如果HTML是HTML5并且浏览器支持HTML5,同样可以直接嵌入SVG。然而为了符合HTML5标准,可能需要做一些语法调整。
- 通过 object 元素引用SVG文件:[InvalidCharacterError: "OBJECT<" did not match the Name production]
- 使用 iframe 元素引用SVG文件:[InvalidCharacterError: "IFRAME<" did not match the Name production]
这里定义的画布尺寸是200*200px。但是,viewBox属性定义了画布上可以显示的区域:从(0,0)点开始,100宽*100高的区域。这个100*100的区域,会放到200*200的画布上显示。于是就形成了放大两倍的效果。
svg 中的基本形状:
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