SVG总结小知识

SVG:可缩放矢量图形。全称是:Scalable Vector Graphics

SVG使用 XML 格式定义图像。

SVG是使用 XML 来描述(二维图形和绘图)程序的语言。

SVG是W3C的推荐标准

SVG于2003年1月14日成为W3C推荐标准。

这是SVG单独文件:

<!--
standalone:该属性规定此 SVG 文件是否是 “独立”, 或含有对外部文件的引用。
standalone="no"意味着 SVG 文档会引用一个外部文件,就是 DTD 文件。
-->
<?xml version="1.0" standalone="no" ?>
<!--
引用外部的 SVG DTD 。该 DTD 位于 “http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd” 。
该 DTD 位于 W3C, 含有所有允许的 SVG 元素。
-->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!--
SVG代码以 <svg> 元素开始。width 和 height 属性可设置此 SVG 文档的宽度和高度。
version属性可定义所使用的SVG版本, xmlns属性可定义 SVG命名空间。
-->
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<!--
circle用来创建一个圆圈, cx 和 cy 属性定义圆中心坐标 (x, y)。如果忽略这两个属性,那么圆点会被设置为 (0,0)。
r属性定义圆的半径。stroke和strike-width属性控制如何显示形状轮廓的颜色和宽度。
fill属性设置形状内的颜色。
-->
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>


这是SVG在HTML中:

SVG文件可以通过以下标签嵌入 HTML 文档:<embed>、<object>  和  <iframe>。

SVG的代码可以直接嵌入到HTML页面中,或你可以直接链接到SVG文件中。

使用<embed>标签:

优势:所有主流浏览器都支持,并允许使用脚本。

缺点:不推荐在HTML4和 XHTML中使用。

SVG有一些预定义的形状元素,可被开发者使用操作。

矩形<rect>

圆形<circle>

椭圆<ellipse>

线<line>

折线<polyline>

多边形<polygon>

路径<path>

 1 <!doctype html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6     <link rel="stylesheet" href="css/main.css">
 7 </head>
 8 <body>
 9
10 <svg xmlns="http://www.w3.org/2000/svg" version="1.0">
11     <rect width="300" height="100" style="fill:rgb(0,0,255);stroke-width:1;stroke:rgb(255,0,0);"></rect>
12 </svg>
13 <p>代码解析</p>
14 <ul>
15     <li>rect元素的width和height属性可定义矩形的高度和宽度</li>
16     <li>style属性用来定义css属性</li>
17     <li>css的fill属性定义矩形的填充颜色</li>
18     <li>css的stroke-width属性定义矩形边框的宽度</li>
19     <li>css的stroke属性定义矩形边框的颜色</li>
20 </ul>
21
22 <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
23     <rect x="50" y="20" width="100" height="100" style="fill:blue;stroke:pink;stroke-width:5;fill-opacity:0.1;stroke-opacity:0.9"></rect>
24 </svg>
25 <p>代码解析</p>
26 <ul>
27     <li>x属性定义矩形的左侧位置</li>
28     <li>y属性定义矩形的顶端位置</li>
29     <li>CSS的fill-opacity属性定义填充颜色的透明度</li>
30     <li>CSS的stroke-opacity属性定义笔触颜色的透明度</li>
31 </ul>
32 <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
33     <rect x="50" y="20" width="100" height="100" style="fill:blue;stroke:pink;stroke-width:5;fill-opacity:0.5;opacity:0.5"></rect>
34 </svg>
35 <p>代码解析</p>
36 <ul>
37     <li>CSS的opacity属性用于定义了元素的透明值</li>
38 </ul>
39
40 <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
41     <rect x="50" y="20" rx="20" ry="20" width="100" height="100" style="fill:red;stroke:black;stroke-width:5;opacity:0.5"></rect>
42 </svg>
43 <p>代码解析</p>
44 <ul>
45     <li>rx 和 ry 属性可使矩形产生圆角</li>
46 </ul>
47 </body>
48 </html>

这个是画个圆,感觉挺简单的。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
 9     <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"></circle>
10 </svg>
11 <p>cx和cy属性定义圆点的x和y坐标。如果省略cx和cy,圆的中心会被设置为(0,0).r属性定义圆的半径。</p>
12
13 </body>
14 </html>
时间: 2024-10-24 18:31:11

SVG总结小知识的相关文章

11个提高CSS技巧的小知识,你知道吗?

前端开发越来越侧重于效率和性能,使用LESS和SCSS资源的预处理器为我们前端CSS编写工作提供了很大的便利.但是也有很多简单的方法可以编写小巧快速的CSS代码,提高开发效率并解决许多常见的问题. 1.使用CSS reset 像normalize.css这样的CSS重置库非常受欢迎,它为您的站点样式提供了一个清爽的选择,能确保浏览器之间更好的一致性.而实际上并不是每个项目都需要这些库中包含的所有规则,我们可以通过一些简单的css规则就能规避浏览器之间的差异.请看下面的盒模型代码: 1 * { 2

iOS 小知识-tips

--->1<--- arc的项目中使用非arc代码,则添加-fno-objc-arc: 非arc项目中使用arc代码,则添加-fobjc-arc. --->2<--- 实用的类 NSKeyedArchiver [UIScreen mainScreen] [UIDevice currentDevice] [UIFont familyNames] [UIApplication sharedApplication] [NSUserDefaults standardUserDefaults

Linux 小知识翻译 - 「syslog」

这次聊聊「syslog」. 上次聊了「日志」(lgo).这次说起syslog,一看到log(日志)就明白是怎么回事了.syslog是获取系统日志的工具. 很多UINIX系的OS都采用了这个程序,它承担了「获取系统全部的日志」这个维持系统正常运行的重要任务. syslog的本体是「syslogd」这个daemon(一般翻译成守护进程),常驻内存中获取日志. syslog的特点是可以通过配置文件「/etc/syslog.conf」,对「哪种应用程序?哪种重要度的信息?记录在哪个文件中?」等进行细致的

Linux 小知识翻译 - 「日志」(log)

这次聊聊「日志」. 「日志」主要指系统或者软件留下的「记录」.出自表示「航海日志」的「logbook」. 经常听说「出现问题的时候,或者程序没有安装自己预期的来运行的时候,请看看日志!」. 确实,记录了系统和软件详细运行情况的「日志」是信息的宝库,通过日志来解决问题的事例也非常多. 但事实上,「无论如何也不会看日志」的用户也有很多.理由很简单,日志的信息量非常大,全部用眼睛来看的话是非常吃力的. 而且,英语写的日志也会让英文不好的人敬而远之. 虽说「要养成用眼睛来看日志的习惯」,但实行起来却非常

Linux 小知识翻译 - 「编译器和解释器」

这次聊聊「编译器和解释器」. 编程语言中,有以C为代表的编译型语言和以Perl为代表的解释型语言.不管是哪种,程序都是以人类能够理解的形式记录的,这种形式计算机是无法理解的. 因此,才会有编译器和解释器. 对于编译型语言,是使用编译器将人类可读的代码转换为机器能够理解的「机器语言」文件,然后通过执行这个「机器语言」文件来实现程序的执行. 另一方面,对于解释型语言,是使用解释器将人类可读的代码逐行解释,一边解释一边执行这个程序.(这里的解释是将代码解释成机器语言,让计算机能够理解) 甚至有的语言既

Linux 小知识翻译 - 「补丁」(patch)

这次,聊聊补丁. 当有bug或者安全漏洞的时候,就会发布补丁.打上补丁之后,就能解决相应的bug或者安全漏洞. 那么,「补丁」到底是什么呢? 「补丁」只有少量的代码,一般都是对程序的一部分进行更新或者追加,包括bug修正,安全漏洞修正,功能追加或者变更等等.当然,只有「补丁」是无法运行的. 即,只有将「补丁」附加到原来的程序中,更新原来的程序后,才能运行. 「补丁(patch)」本来是指「打补丁用的小布头」.「patch」正是为了补足现有的程序,堵住程序漏洞的「布头」. 打「补丁」的时候需要用到

Linux 小知识翻译 - 「协议(protocol)」

对于理解服务器和网络来说,「协议」是不可缺少的概念. 「协议(protocol)」有「规则,规定」的意思. 实际上「协议」的函数很广,在通信领域,「协议」规定了「在通信时,什么样的情况下,以什么样的顺序,什么样的方式交互什么样的数据」. 抽象的去理解「协议」可能会比较困难,下面来举个例子. 通过Web以HTML方式交互时使用的协议是「HTTP」(Hyper Text Transfer Protocol).这个协议最重要的就是规定了服务器和客户端之间以HTML方式交互的规则. 比如,客户端连接上服

Linux 小知识翻译 - 「Linux」怎么读?

主要讨论日语中的读法,所以没有完全按照原文来翻译. 「linux」的读法有很多(这里指在日语中),代表性的读法有以下几种: A). 李纳苦思 B). 李奴苦思 C). 纳依纳苦思 A和B相同的是将 linux开头的「li」发音成「李」.这也是linux之父Linus Torvalds的名字的日语假名(「リーナス?トーバルズ」)的由来. linux中「nu」的发音是怎么样的呢?Linux Online的网页上有说明,而且视频中还有 Linus Torvalds 的发音. http://www.li

Android 48个小知识

1.判断sd卡是否存在 boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); 2.TextView部分文字设置颜色 TextView tv = new TextView(this); //添加css样式 tv.setText(Html.fromHtml("<font color="#ff0000">红色<