当前位置: 首页 > news >正文

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

MENU

  • 前言
  • 直接在页面编写svg
  • 使用img标签引入
  • 通过css引入
  • 使用object标签引入
  • 其他标签
  • 参考资料


前言

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


直接在页面编写svg

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

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

svgType


使用img标签引入

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


1、新建svg图片文件

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

<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和网页文件在同一个目录下

<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图标网站。

svgType2


alibabaICON


通过css引入

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

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

svgType


使用object标签引入

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

<object data="test.svg" style="border: 1px solid steelblue;"></object>

其他标签

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


参考资料

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

相关文章:

  • 格式化输入输出
  • 关于vs code Debug调试时候出现“找不到任务C/C++: g++.exe build active file” 解决方法
  • Linux技能篇-非交互式修改密码
  • springboot 返回problem+json
  • 【Vue】filter的用法
  • debian 12 配置
  • 老牌开源 SVG 编辑器 SVGEdit 是如何架构的?
  • 优秀的时间追踪软件Timemator for Mac轻松管理时间!
  • vscode-insiders Remote-SSH XHR failed无法访问远程服务器
  • 【C++ 设计模式】面向对象设计原则 Template Method 模式 Strategy 策略模式
  • openssl升级
  • maven 将Jar包安装到本地仓库
  • 红黑树详解
  • python给视频增加字幕
  • 【maven】【IDEA】idea中使用maven编译项目,报错java: 错误: 找不到符号 【2】
  • classpath对获取配置文件的影响
  • Computed property XXX was assigned to but it has no setter
  • javascript面向对象之创建对象
  • Java精华积累:初学者都应该搞懂的问题
  • markdown编辑器简评
  • maven工程打包jar以及java jar命令的classpath使用
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • MySQL主从复制读写分离及奇怪的问题
  • passportjs 源码分析
  • React-生命周期杂记
  • 复习Javascript专题(四):js中的深浅拷贝
  • 利用jquery编写加法运算验证码
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 一些css基础学习笔记
  • 移动端解决方案学习记录
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (三)elasticsearch 源码之启动流程分析
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (转)详解PHP处理密码的几种方式
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .Net6 Api Swagger配置
  • .Net7 环境安装配置
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • ?php echo ?,?php echo Hello world!;?
  • @RunWith注解作用
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • []串口通信 零星笔记
  • [android] 手机卫士黑名单功能(ListView优化)
  • [Android]Android开发入门之HelloWorld