网站首页 > 技术文章 正文
结构和表现
结构:用来告诉你这是个什么东西
表现:视觉效果
在svg中使用样式
svg允许通过:内联样式、内部样式表、外部样式以及表现属性来指定图形视觉效果。
- 内联样式:直接在标签上通过style设置样式属性
- 内部样式表:给标签指定类名,在同一个文件中,通过style标签给指定类名编写样式
- 外部样式:与内部样式一致,只不过把style标签的内容抽离出来作为一份单独的样式文件进行引入
- 表现属性:其实就是将style属性中的各种css属性键值对作为独立的属性使用
分组和引用对象
svg提供了一些元素,允许我们对元素进行分组
<g>元素
<g>元素会将其所有的子元素作为一个组合,通常组合都会有一个唯一id作为名称。每个组合还可以拥有自己的<title>和<desc>供xml应用程序识别。
<svg>
<g id="test" style="fill: none; stroke: black;">
<title>test</title>
<desc>test one</desc>
<polyline points="6 50, 36 9, 66 50">
</g>
</svg>
在<g>标签上指定的样式会应用到组合内所有的子元素。
<use>元素
复杂的图形中避免不了复用的情况。svg使用<use>元素,为定义在<g>元素内的组合或独立图形提供了类似复制粘贴的功能。
<svg>
<g id="test" style="fill: none; stroke: black;">
<title>test</title>
<desc>test one</desc>
<polyline points="6 50, 36 9, 66 50">
</g>
<use xlink:href="#test" x="70" y="100">
</svg>
<defs>元素
在<defs>标签中间添加元素,相当于告诉svg,只定义,不显示。svg的规范也推荐将复用的对象放在<defs>标签中便于svg阅读器更高效地处理数据。
<use>元素不限制只能使用同一个文件中的对象。xlink:href属性可以指定任意有效的文件或者url,这就方便我们将公用元素整合在一个svg文件中,然后在其他文件中选择性地使用他们。
使用方式为:
<use xlink:href="xxx.svg#id" />
<symbol>元素
和<g>元素不同,<symbol>元素永远不会显示,因此无需将它放在<defs>元素内。
但我们习惯于将它放到<defs>中,因为symbol也是我们定义供后续使用的元素。
symbol还可以指定viewBox和preserveAspectRatio属性,通过给<use>元素添加width和height属性可以让symbol适配视口大小。
<image>元素
<use>元素允许我们复用svg文件中的一部分,而<image>元素可以包含一个完整的svg或者栅格文件。
如果包含一个svg文件,其视口会基于引用文件的x、y、width和height属性来建立。
如果包含一个栅格文件,它会被缩放以适配该属性指定的矩形。
- 上一篇: 可视化文档引擎全面更新,解锁文档新玩法
- 下一篇: 文档可视化+表单引擎,让数据交互更流畅!
猜你喜欢
- 2024-12-03 Markdoc:新一代 Markdown 文档内容发布框架!
- 2024-12-03 文档可视化+表单引擎,让数据交互更流畅!
- 2024-12-03 可视化文档引擎全面更新,解锁文档新玩法
- 2024-12-03 「Python」办公自动化——用类Markdown的语法来写Word文档
- 2024-12-03 智能化弱电项目工程从开工到竣工资料全过程资料文档(word版)
- 2024-12-03 基于Vue开源的高效复杂表格解决方案——「vxe-table」
- 2024-12-03 制作Word模版,让文章排版不再麻烦
- 2024-12-03 8.6K Star!Docling:最强文档转换工具,没有之一!
- 2024-12-03 怎样制作Word文档模板?
- 2024-12-03 20K+ star!Material Design 打造高颜值技术文档
你 发表评论:
欢迎- 07-08记oracle日志挖掘实操&查询归档不正常增长情况(一)
- 07-08Oracle 伪列!这些隐藏用法你都知道吗?
- 07-08orcl数据库查询重复数据及删除重复数据方法
- 07-08重大故障!业务核心表被truncate删除,准备跑路……
- 07-08oracle数据恢复—oracle执行truncate命令误删除数据的数据恢复
- 07-08Oracle-rac 修改scanip(oracle 修改sequence cache)
- 07-08ORACLE RAC CDB和PDB切换(oracle数据库rac切换)
- 07-08Oracle rac haip作用(oracle rac的典型特征)
- 596℃几个Oracle空值处理函数 oracle处理null值的函数
- 588℃Oracle分析函数之Lag和Lead()使用
- 576℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 573℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 569℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 562℃【数据统计分析】详解Oracle分组函数之CUBE
- 549℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 542℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- 记oracle日志挖掘实操&查询归档不正常增长情况(一)
- Oracle 伪列!这些隐藏用法你都知道吗?
- orcl数据库查询重复数据及删除重复数据方法
- 重大故障!业务核心表被truncate删除,准备跑路……
- oracle数据恢复—oracle执行truncate命令误删除数据的数据恢复
- Oracle-rac 修改scanip(oracle 修改sequence cache)
- ORACLE RAC CDB和PDB切换(oracle数据库rac切换)
- Oracle rac haip作用(oracle rac的典型特征)
- 新手小白怎么学UI设计 推荐学习路线是什么
- 超实用!0基础UI设计自学指南(0基础学ui设计好就业吗)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- 前端获取当前时间 (50)
- 前端接口 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)