svg入门详解(理论篇)

cc.jpg

一、svg是什么?

SVG 意为可缩放矢量图形(Scalable Vector Graphics)。
SVG 是使用 XML 来描述二维图形和绘图程序的语言。
SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失。
SVG 是万维网联盟的标准。

二、svg的优势

与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于:

  • SVG 图像可通过文本编辑器来创建和修改;
  • SVG 图像可被搜索、索引、脚本化或压缩;
  • SVG 是可伸缩的;
  • SVG 图像可在任何的分辨率下被高质量地打印;
  • SVG 可在图像质量不下降的情况下被放大;

三、浏览器支持情况

image.png

四、使用方式

1、可在浏览器直接打开;
2、在HTML中的使用;
SVG 文件可通过以下标签嵌入 HTML 文档:<embed>、<object> 、 <iframe>和<img>。
SVG的代码可以直接嵌入到HTML页面中,或直接链接到SVG文件。
(1)使用 <embed> 标签

  • 优势:所有主要浏览器都支持,并允许使用脚本
  • 缺点:不推荐在HTML4和XHTML中使用(但在HTML5允许)

示例:

<embed width="300px" height="300px" src="img/demo.svg" type="image/svg+xml" />

(2)使用 <object> 标签

  • 优势:所有主要浏览器都支持,并支持HTML4,XHTML和HTML5标准
  • 缺点:不允许使用脚本。

示例:

<object width="300px" height="300px" data="img/demo.svg" type="image/svg+xml"></object>

(3)使用 <iframe> 标签

  • 优势:所有主要浏览器都支持,并允许使用脚本
  • 缺点:不推荐在HTML4和XHTML中使用(但在HTML5允许)

示例:

<iframe width="300px" height="300px" src="img/demo.svg"></iframe>

(4)直接在HTML嵌入SVG代码

示例:

<svg width="500px" height="500px" style="margin:50px;" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <rect x="20" y="20" rx="10" ry="10" width="300" height="300" style="fill:rgb(0,0,255);stroke-width:1;stroke:rgb(0,0,0);fill-opacity:0.1;stroke-opacity:0.9;opacity:0.9;"/> 
</svg>

(5)使用<img>标签

示例:

<img src="img/demo.svg" width="300px" height="300px"/>

(6)链接到svg文件

示例:

<a href="img/demo.svg">查看svg</a>

3、在css中使用

示例:

.container{
  background: white url(img/demo.svg) repeat;
}

参考:svg教程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 浏览器页面有哪三层构成,分别是什么,作用是什么? 构成:结构层、表示层、行为层分别是:HTML、CSS、Ja...
    程序猿人王小贱阅读 5,860评论 1 11
  • 源自SeeYouBug博客 地址为:http://www.cnblogs.com/SeeYouBug 一、HTML...
    欲泪成雪阅读 4,977评论 0 15
  • 一:什么是SVG? 对于SVG的定义如下: ①:SVG 指的是可伸缩矢量图形 (Scalable Vector G...
    GreenHand1阅读 4,272评论 0 1
  • 问答题1 /72浏览器页面有哪三层构成,分别是什么,作用是什么?参考答案构成:结构层、表示层、行为层分别是:HTM...
    _Yfling阅读 4,952评论 0 23
  • 最近,给三岁半的宝宝报了个英语培训班。总觉得这个年纪学英语未免小了些,可是在左右邻居家甚至更小的宝宝们都如此的风气...
    julie猪阅读 3,188评论 0 0