web前端之引入svg图片、html引入点svg文件、等比缩放、解决裁剪问题、命名空间、object标签、阿里巴巴尺量图、embed标签、iframe标签


前言

web应用开发使用svg图片的方式,有如下几种方式
1、直接在页面编写svg
2、使用img标签引入
3、通过css引入
4、使用object标签引入


直接在页面编写svg

在html页面直接使用svg标签编写。

html 复制代码
<svg width="230" height="230" style="border: 1px solid steelblue;">
    <!-- 里面有一个矩形 -->
    <rect x="5" y="5" width="220" height="220" fill="skyblue"></rect>
</svg>


使用img标签引入

除了在网页里直接写svg标签,也可以通过img引入,就像引入jpeg、png图片一样。


1、新建svg图片文件

新建一个svg图片文件,文件名称为test.svg
这边内容有两点不一样
1)需要声明命名空间xmlns这个属性,在本文最后会列出命名空间的参考资料。
2)移除了原先写在svg标签上的样式,style="border: 1px solid steelblue"。

svg 复制代码
<svg xmlns="http://www.w3.org/2000/svg" width="230" height="230">
    <rect x="5" y="5" width="220" height="220" fill="skyblue"></rect>
</svg>

2、使用img标签引入

假设test.svg和网页文件在同一个目录下

html 复制代码
<img src="test.svg" style="border: 1px solid steelblue;" />
<img src="test.svg" style="width: 100px; height: 100px;border: 1px solid steelblue;" alt="SVG Image" />

和引入jpeg、png类似,直接src属性设置图片路径即可,另外原先在svg的样式移到了img标签上。
img引入的svg设置宽高不会被裁剪,而是等比缩放。
阿里巴巴尺量图库是一个不错的icon图标网站。



通过css引入

css引入就是把图片当成背景图引入
必须设置宽高哦,否则没有效果

html 复制代码
<div style="width: 230px; height: 230px; border: 1px solid steelblue; background-image: url(test.svg);"></div>


使用object标签引入

object标签引入和img引入类似,需要一个svg文件,文件绑定在data属性上。
运行效果和上面类似,就不再贴图。

html 复制代码
<object data="test.svg" style="border: 1px solid steelblue;"></object>

其他标签

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


参考资料

1、命名空间
2、embed标签
3、iframe标签

相关推荐
陈随易28 分钟前
bm2,Node.js 与 Bun 项目部署新选择
前端·后端·程序员
福兮说2 小时前
canvas 旋转图片的六个坑:四角被裁、Math.ceil 多出 1px 黑边、JPG 角发黑、翻转方向反了
前端·javascript·图像处理·canvas
传人once3 小时前
多图片上传预览功能如何写
前端·css·html·jquery·html5
Eric.464 小时前
Wan‑Animate+MiniMax-H3 本地部署 AI 漫剧流水线:8G 显存动作迁移与动态分镜工程实战
前端·人工智能·comfyui·ai漫剧
传人once5 小时前
悬停旋转放大和位移效果如何写
javascript·css·动画
库拉镜像AI牛牛5 小时前
短剧内容自动化生产:知漫剧工作室落地教程
大数据·服务器·前端·人工智能·语音识别
律宏阔5 小时前
Flutter 列表图片内存优化:CachedNetworkImage 与 ClipRRect 的取舍
前端·flutter
行者全栈架构师5 小时前
【鸿蒙心迹】相册文搜图工程化落地:HarmonyOS 7.0 端侧 AI 检索全链路实战与 5 个踩坑解法
前端
律宏阔5 小时前
Dart 3 Record:解决 Future.wait 异构返回值的类型问题
前端·flutter
Seraphina366 小时前
DVWA(XSS Reflected/Stored High,CSRF Low)
前端·xss·csrf