SVG图片在HTML页面中的四种加载方法

HTML专栏是汇集了一些HTML常常被遗忘的知识,这里算是温故而知新,往往这些零碎的知识点,在你开发中能起到炸惊效果。我们每个人都没有过目不忘,过久不忘的本事,就让这一点点知识慢慢渗透你的脑海。 本专栏的风格是力求简洁明了。

 SVG因为体积小,矢量图的缘故,经常会在html页面中引用此种格式的图形。 具体的有以下几种形式:

方法1,直接在html中添加SVG代码

<!DOCTYPE html> 
<html> 
<body> 
 
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> 
   <circle cx="50" cy="50" r="40" stroke="yellow" stroke-width="2" fill="red" /> 
</svg>  
  
</body> 
</html> 

方法2,使用 <embed> 标签

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

<embed src="circle1.svg" type="image/svg+xml" />

方法3,使用 <object> 标签

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

<object data="circle1.svg" type="image/svg+xml"></object>

方法4,使用 <iframe> 标签

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

<iframe src="circle1.svg"></iframe>

附识:

(1)SVG在线编辑器

 网络上有很多网站提供一种支持在线编辑SVG的JS方法。我们借用成功的经验即可。

www.zuohaotu.com/svg/

c.runoob.com/more/svgeditor/

(2)SVG可用的滤镜

feBlend - 与图像相结合的滤镜 
feColorMatrix - 用于彩色滤光片转换 
feComponentTransfer 
feComposite 
feConvolveMatrix 
feDiffuseLighting 
feDisplacementMap 
feFlood 
feGaussianBlur 
feImage 
feMerge 
feMorphology 
feOffset - 过滤阴影 
feSpecularLighting 
feTile 
feTurbulence 
feDistantLight - 用于照明过滤 
fePointLight - 用于照明过滤 
feSpotLight - 用于照明过滤 

(3)示例代码

 
  1. <?xml version="1.0" standalone="no"?> 
  2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"  
  3. "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 
  4. <svg width="100%" height="100%" version="1.1" 
  5. xmlns="http://www.w3.org/2000/svg"> 
  6. <ellipse cx="300" cy="150" rx="200" ry="80" 
  7. style="fill:rgb(100,100,150); 
  8. stroke:rgb(0,150,0);stroke-width:3"/> 
  9. </svg> 

(4)代码说明

第一行包含了 XML 声明。请注意 standalone 属性!该属性规定此 SVG 文件是否是"独立的",或含有对外部文件的引用。

standalone="no" 意味着 SVG 文档会引用一个外部文件 - 在这里,是 DTD 文件。

第二和第三行引用了这个外部的 SVG DTD。该 DTD 位于 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"。该 DTD 位于 W3C,含有所有允许的 SVG 元素。

SVG 代码以 <svg> 元素开始,包括开启标签 <svg> 和关闭标签 </svg> 。这是根元素。width 和 height 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间。

HTML是前端页面展示的骨架,应用无处不在,希望某个知识点就能帮助你,欢迎学习GIS的朋友一起交流。 
[《 Openlayers 综合示例200+ 》]
[《 leaflet示例教程100+ 》]
[《 Cesium示例教程100+》]
[《MapboxGL示例教程100+》]

 

  • 43
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 35
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还是大剑师兰特

打赏一杯可口可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值