设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 112|回复: 12

html网页引入svg图片的4种方式

[复制链接]

1

主题

42

回帖

105

积分

注册会员

积分
105
发表于 2024-4-20 08:06:00 | 显示全部楼层 |阅读模式
web应用开发使用svg图片,总结了下,可以有如下4种方式:
1. 直接插入页面。
2. img标签引入。
3. css引入。
4. object标签引入。
1. 直接插入页面

在html页面,可以直接使用svg标签。
  1. <!DOCTYPE html>
  2. <html>
  3.         <head>
  4.                 <meta charset="utf-8">
  5.                 <title></title>
  6.         </head>
  7.         <body>
  8.                 <!-- 一个svg图片 -->
  9.                 <svg width="200" height="150" style="border: 1px solid steelblue">
  10.                         <!-- 里面有一个矩形 -->
  11.                         <rect x="10" y="10" width="100" height="60" fill="skyblue"></rect>
  12.                 </svg>
  13.         </body>
  14. </html>
复制代码
运行效果:

2. img标签引入

除了在网页里直接写svg标签,也可以通过img引入,就像引入jpeg、png图片一样。
1)新建svg图片
那么我们就要先新建一个svg图片文件,我们把上面直接写在网页里的svg拿来用:
  1. <svg xmlns="http://www.w3.org/2000/svg" width="200" height="150">
  2.         <rect x="10" y="10" width="100" height="60" fill="skyblue"></rect>
  3. </svg>
复制代码
这边内容有两点不一样:
1. 需要声明命名空间 xmlns 这个属性,命名空间可以本文尾部列出的参考资料。
2. 移除了原先写在 svg 标签上的样式,style="border: 1px solid steelblue"。
把内容保存到test.svg文件,这个就是一张图片文件了,可以尝试在浏览器打开看看。
2)使用img标签引入
假设test.svg和网页文件在同一个目录下:
  1. <img src="test.svg" style="border: 1px solid steelblue" />
复制代码
和引入jpeg、png类似,直接src属性设置图片路径即可,另外我们把原先在svg的样式移到了img标签这边。
运行效果和上面是一样的:

现在网上有很多svg做的图片,可以参考:https://www.iconfont.cn,一个不错的icon图标网站。

3. css引入

css引入就是把图片当成背景图引入:
  1. <style type="text/css">
  2.         .svg {
  3.                 width: 200px;
  4.                 height: 150px;
  5.                 border: 1px solid steelblue;
  6.                 background-image: url(test.svg); // 当成背景引入
  7.         }
  8. </style>
  9. <div class="svg"></div>
复制代码
4. object引入

和img引入类似,需要一个svg文件,然后用属性data引入:
  1. <object data="test.svg" style="border: 1px solid steelblue"></object>
复制代码
运行效果和上面类似,就不再贴图。
其他标签

其他标签如:embed、iframe标签虽然也可以引入,但是不推荐使用了,详情可以参考本文尾部列出的参考资料。
参考资料

命名空间:https://developer.mozilla.org/zh-CN/docs/Web/SVG/Namespaces_Crash_Course
embed标签:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/embed
iframe标签:https://developer.mozilla.org/zh-CN/docs/Learn/HTML/Multimedia_and_embedding/Other_embedding_technologies
到此这篇关于html网页引入svg图片的4种方式的文章就介绍到这了,更多相关html引入svg图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

0

主题

45

回帖

92

积分

等待验证会员

积分
92

热心会员付费会员

发表于 2024-4-28 10:32:05 | 显示全部楼层
感谢分享,受益匪浅!

0

主题

47

回帖

95

积分

注册会员

积分
95
发表于 2024-6-26 03:08:08 | 显示全部楼层
同意!

0

主题

68

回帖

136

积分

注册会员

积分
136
发表于 2024-7-21 03:20:28 | 显示全部楼层
非常感谢你的观点,让我受益良多!

0

主题

51

回帖

103

积分

注册会员

积分
103
发表于 2024-7-23 12:46:21 | 显示全部楼层
说得太好了,完全同意!

0

主题

66

回帖

131

积分

注册会员

积分
131
发表于 2024-8-24 08:35:04 | 显示全部楼层
顶一个,观点非常中肯!

3

主题

46

回帖

160

积分

注册会员

积分
160
发表于 2024-8-24 21:54:44 | 显示全部楼层
说得太好了,完全同意!

4

主题

45

回帖

159

积分

注册会员

积分
159
发表于 2024-9-11 10:49:04 | 显示全部楼层
我完全同意你的观点

0

主题

77

回帖

155

积分

注册会员

积分
155
发表于 2024-9-15 06:19:33 | 显示全部楼层
能给个链接吗?我想深入了解一下。

1

主题

52

回帖

128

积分

注册会员

积分
128
发表于 2024-9-20 03:01:54 | 显示全部楼层
我们一起努力,共同解决问题吧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-15 09:00 , Processed in 0.100425 second(s), 28 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表