SVG可以作为一个独立的文件存在。但更多的时候,我们希望他能集成在某个更大的文档中,比如HTML。
将SVG插入到HTML中主要有以下几种方式:

  • 将 SVG 作为图像导入
  • 将 SVG放入 iframe 中导入
  • 将 SVG 作为object对象导入
  • 使用内联 SVG

将SVG作为图像导入

这可能是将SVG导入HTML文档的最简单的方法。将.svg文件把它加到一个普通<img>标签内。

<img src="example.svg" alt="example">

你需要确保你的服务器支持.svg文件,可能大多数都是支持的,但是还是查一下的好。
同时你也可以在CSS中把.svg文件作为一个background-image导入。

注意要加一个备用的.png图像,以防浏览器无法显示svg。

.svg-bg {
background: url("example.png"); /* fallback */
background-image: url("example.svg");
}

不足:

SVG作为图像引用时,

  • 大多数浏览器不会加载SVG自身引用的文件(其他图像,外部脚本,字体文件等)

  • 依据浏览器的安全策略,SVG中定义的脚本也可能不会执行

使用Object 或 iframe导入SVG图像

和把SVG作为图像导入相似,你可以把它作为一个<object>导入,通过data属性链接要导入的.svg文件。注意,MIME type必须是image/svg+xml。代码如下:

<object type="image/svg+xml" data="example.svg" class="example">
My Example SVG
</object>

相比使用<object>,你也可以把.svg文件嵌入到一个<iframe>框架内。代码如下:

<iframe src="example.svg" class="example"></iframe>

上面2种方法都可以使用CSS控制SVG的样式,如:

.example {
display: block;
margin: 5em auto;
border-radius: 10px;
}

使用内联SVG

你不必一定把SVG放在一个单独的文件中,因为你可以直接在HTML中嵌入SVG。

<!DOCTYPE html>
<html>
<body>
<svg>
...
</svg>
</body>
</html>

直接嵌入的SVG会继承父文档的样式,默认情况下采用inline的方式进行显示。

总结:

SVG并不难使用。尤其,最简单的是,你可以在一个矢量图形应用程序中创建一个图像,然后将图像导出为一个.svg文件,然后把它放入到一个<img><object>或者<iframe>的HTML标签中。你也可以在CSS文件中放入.svg文件,把它作为一个background-image

参考文档:

https://segmentfault.com/a/1190000004447771

https://www.w3cplus.com/svg/svg-basics.html

在网页中使用SVG的更多相关文章

  1. 1. svg学习笔记-在网页中使用svg

    在网页中使用svg有以下三种方式 1. svg归根结底来说是一种图像格式,虽然有别于jpeg,gif,png等位图图像格式,所以在网页中能嵌入图像的地方都可以嵌入svg,例如将svg文件设置为< ...

  2. 在 React、Vue项目中使用 SVG

    在一些现代的扁平化设计网站,特别是移动端网站,经常会包含许多简单而清晰的小图标,例如网站图标.用户的默认头像.移动端网页首页底部固定的切换栏等,这些小图标一般都是由美工做好,可能会放到精灵图上,前端再 ...

  3. 用字体在网页中画Icon图标

    第一步,下载.IcoMoon网站选择字体图标并下载,解压后将fonts文件夹放在工程目录下.fonts文件夹内有四种格式的字体文件: 注:由于浏览器对每种字体的支持程度不一致,要想在所有浏览器中都显示 ...

  4. 字体在网页中画ICON图标

    用字体在网页中画ICON图标有三种小技巧: 1.用CSS Sprite在网页中画小图标 实现方法: 首先将小图片整合到一张大的图片上 然后根据具体图标在大图上的位置,给背景定位.background- ...

  5. 网页中导入特殊字体@font-face属性详解

    @font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中. 语法规则 首先我们一起来看看@font-face的语法规则: @font-face { font-fami ...

  6. HTML5中的SVG

    * SVG * 基本内容 * SVG并不属于HTML5专有内容 * HTML5提供有关SVG原生的内容 * 在HTML5出现之前,就有SVG内容 * SVG,简单来说就是矢量图 * SVG文件的扩展名 ...

  7. 利用CSS的@font-face属性 在网页中嵌入字体

    字体使用是网页设计中不可或缺的一部分.网页是文字的载体,我们希望在网页中使用某一特定字体,但是该字体并非主流操作系统的内置字体,这样用户在浏览页面的时候就有可能看不到真实的设计. 美工设计师最常做的办 ...

  8. 在网页中制作icon图标

    用字体在网页中画icon图标 第一步:获取字体资源IconMoon网站https://icomoon.io iconMoon中有很多免费小图标可用,还能设置下载图标的使用属性(通过网站中设立的按钮pr ...

  9. html5 中的SVG 和canvas

    想到昨天看资料的时候,发现html5 中的SVG 和canvas 都可以表示图形,那它们到底有哪些区别呢?该如何正确的使用它们呢? 1.SVG:可缩放矢量图形,(Scalable Vector Gra ...

随机推荐

  1. RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)[转]

    上篇文章中,我们把每个Message都是deliver(提供)到某个Consumer.在这篇文章中,我们将会将同一个Message deliver(提供)到多个Consumer中.这个模式也被成为 & ...

  2. Find and Grep

    find 1.格式 Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [ ...

  3. 使用Xcode、Android Studio将项目链接到Git

    一.使用Android Studio创建本地git仓库: 1.检查本地git环境:在Android Studio中setting-->Version Control 点击Test按钮,提示suc ...

  4. Android JSBridge的原理与实现

    在Android中.JSBridge已经不是什么新奇的事物了,各家的实现方式也略有差异. 大多数人都知道WebView存在一个漏洞.见WebView中接口隐患与手机挂马利用,尽管该漏洞已经在Andro ...

  5. rpm安装PostgreSQL

    一.首先去官网下载相关的安装包 https://yum.postgresql.org/rpmchart.php 二.下载安装包 1. 最小的数据库服务器安装包: postgresql96--1PGDG ...

  6. CSS选择器的优化

    前面花了几个篇幅着重介绍了CSS的选择器的使用,我将其分成三个部分:CSS基本选择器.CSS属性选择器以及CSS伪类选择器.那么今天我主要想和大家一起来学习——CSS选择器方面的性能优化.因为对性能这 ...

  7. iOS学习笔记37-时间和日期计算

    一.时间和日期计算 我们在应用开发中,时常须要和时间打交道,比方获取当前时间,获取两个时间点相隔的时间等等,在iOS开发中与时间相关的类有例如以下几个: 1. NSDate:表示一个绝对的时间点 2. ...

  8. Spring 一二事(7) - annotation

    之前的文章大多都是一带而过,一方面比较简单,一方面不是用的注解形式 在企业开发中,主要还是使用的注解来进行开发的 1 <!-- component:把一个类放入到spring容器中,该类就是一个 ...

  9. Django视图之视图函数

    下面来说说常见的视图函数: HttpResponse() Http404() HttpResponseNotFound() 上面三个函数功能比较简单,用得少,就不多说了! render() rende ...

  10. Python 里 and、or 的计算规则

    引子: >>> print '' or 5 or 05>>> print 5 and 44>>> print '' or 5 or 0 and 4 ...