svg学习系列01-svg简介

SVG的特点

  1、SVG 是可伸缩的矢量图形,在浏览器中改变尺寸,其图形质量不会有所损失。

  2、相比其它位图,SVG图像文件更小,可压缩性更强。

  3、SVG 可以被记事本等阅读器、搜索引擎访问。

  4、SVG 图像中的文本是可选的,同时也是可复制的。

  5、SVG 图像可以与DOM,CSS和JavaScript交互。

  6、SVG 可以制作成整体或局部动画。

独立SVG文件

 1 <svg version="1.1"
 2      baseProfile="full"
 3      width="300" height="200"
 4      xmlns="http://www.w3.org/2000/svg">
 5
 6   <rect width="100%" height="100%" fill="red" />
 7
 8   <circle cx="150" cy="100" r="80" fill="green" />
 9
10   <text x="150" y="125" font-size="60" text-anchor="middle" fill="white">SVG</text>
11
12 </svg>

注意:

  1、来自 (X)HTML的doctype 声明应该被舍弃,因为基于SVG 的 DTD 验证比起它解决的会引发更多问题。

  2、version 和 baseProfile 属性是必须的,供其它类型的验证方式确定 SVG 版本

  3、作为 XML 的一种方言, SVG 必须正确的绑定命名空间 (在 xmlns 属性中).

SVG在HTML中使用

  1、将SVG作为图像导入

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

2、CSS中background-image引入

background-image: url(test.svg);

3、使用Object 或 iframe导入SVG图像

<object type="image/svg+xml" data="test.svg"></object>
<iframe src="test.svg"></iframe>

4、将SVG作为Data URI导入

<img src="data:image/svg+xml;base64,[data]>
background: url(data:image/svg+xml;base64,[data]);
<object type="image/svg+xml" data="data:image/svg+xml;base64,[data]></object>

5、使用内联SVG

<!-- 带版本、命名空间、baseProfile -->
<svg version="1.1" baseProfile="full" width="300" height="200" xmlns="http://www.w3.org/2000/svg">
    <rect width="100%" height="100%" fill="green" />
</svg>
<!-- 简写 -->
<svg width="300" height="200">
    <rect width="100%" height="100%" fill="green" />
</svg>

注意:

  当把SVG作为一个图片放进HTML或者CSS时,你没有办法通过CSS对这个SVG进行更多的控制。

时间: 2024-10-12 16:00:05

svg学习系列01-svg简介的相关文章

[翻译]svg学习系列 开篇

网上svg的资料太少 买个书也买不到 碰巧遇到一个外国友人的svg学习些列,翻译下 http://tutorials.jenkov.com/svg/index.html svg 简介 可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式.它由万维网联盟制定,是一个开放标准. 今天的现代多数浏览器都支持SVG  ie9+ 火狐 chrome 等 svg 最大的用途就是绘图 各种图标 等 ,在网页上直接绘图 因为svg本身的dom节点,所以可以和网页上其他

svg学习系列02-简单的svg图形和线条

矩形<rect /> <svg version="1.1" baseProfile="full" width="300" height="200"> <rect x="20" y="20" rx="5" ry="5" width="100" height="100" fill=&

CSS学习笔记01 CSS简介

1.CSS定义 CSS 指层叠样式表 (Cascading Style Sheets),是一种样式表语言,用来描述 HTML 或 XML(包括如 SVG.XHTML 之类的 XML 分支语言)文档的呈现.CSS 描述了在屏幕.纸质.音频等其它媒体上的元素应该如何被渲染的问题. 2.为何使用CSS 网页是由HTML标签组成的,那么这些标签会根据浏览器的默认方式进行排版与样式的渲染,如果想要更改这些默认的样式,推荐用CSS,因为这样不仅实现了内容与表现分离的问题,而且更易于维护. 3.CSS语法 C

Struts2学习笔记01 之 简介及配置

一.Struts简介 * 是轻量级的MVC框架,主要解决了请求分发的问题,重心在控制层和表现层.运用ASOP的思想,使用拦截器来扩展业务控制器 二.使用步骤: 1.引入Sturts2的相关JAR包 2.配置前端控制器 3.创建struts.xml 5.编写业务控制器Action 6.编写JSP页面 7.配置struts.xml

[eShopOnContainers 学习系列] - 01 - Roadmap and Milestones for future releases

https://github.com/dotnet-architecture/eShopOnContainers/wiki/01.-Roadmap-and-Milestones-for-future-releases 感兴趣可以去看看, 介绍当前版本主要的里程碑(Milestones),以下一个版本将要实现的功能

Mybatis学习系列(1) –– 入门简介

MyBatis简介 Mybatis是Apache的一个Java开开源项目,是一个支持动态Sql语句的持久层框架.Mybatis可以将Sql语句配置在XML文件中,避免将Sql语句硬编码在Java类中.与JDBC相比: Mybatis通过参数映射方式,可以将参数灵活的配置在SQL语句中的配置文件中,避免在Java类中配置参数(JDBC) Mybatis通过输出映射机制,将结果集的检索自动映射成相应的Java对象,避免对结果集手工检索(JDBC) Mybatis可以通过Xml配置文件对数据库连接进行

【Vue 学习系列 - 01】- 环境搭建(Win7)

1. 根据系统下载Node.js 下载地址:http://nodejs.cn/download 2. 安装Node.js 点击安装Node.js,在安装目录D:\Program Files\nodejs\下新建node_global和node_cache两个文件夹 设置global和cache npm config set prefix "D:\Program Files\nodejs\node_global" npm config set cache "D:\Program

SpagoBI系列----------[01]SpagoBI简介及安装步骤

商务智能套件SpagoBI提供一个基于J2EE的框架用于管理BI对象如报表.OLAP分析.仪表盘.记分卡以及数据挖掘模型等的开源BI产品.它提供的BI管理器能 够控制.校验.验证与分发这些BI对象. SpagoBI特性包括支持Portal.report.OLAP.QbE.ETL.dashboard.文档管理.元数据管理.数据挖掘与地理信息分析. 1.安装JDK并配置JAVA环境变量 http://www.oracle.com/technetwork/java/javase/downloads/j

SVG 学习&lt;五&gt; SVG动画

先上个动画图 说道SVG动画不得不提到两个属性:stroke-dasharray(这个前面有提到,做虚线的)stroke-dashoffset (这个是关键). 先说说stroke-dasharray 之前提过 可以把线条做成虚线状,值可以为一个数值 也可以是一个数组.详见:SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 最后一段.在动画里 stroke-dasharray 用来绘制路径或者虚线环绕效果. stroke-dashoffset : 官方解释 svg的