网站首页 > 技术文章 正文
结构和表现
结构:用来告诉你这是个什么东西
表现:视觉效果
在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 打造高颜值技术文档
你 发表评论:
欢迎- 最近发表
-
- 用AI做微信小程序的完整步骤_如何用ai制作微信表情包
- 自习室预约的微信小程序设计与实现-计算机毕业设计源码+LW文档
- 微信小程序开发入门指南_微信小程序开发入门教程
- 写字机器人好用吗? 组装就花了5个小时 还要学习软件、录入字体
- 白描网页版 - 高效准确且免费的OCR文字识别工具
- 字体图形面板与图标字体使用_字体图标的优势和劣势
- 作为前端工程师必须懂得的33个CSS核心概念
- Flutter程序员开发炫酷的登录页面 字体库运用 路由学习 源码分享
- 2025Q3开源字体盘点:让你的代码和文档'颜值'飙升!
- Agent杂谈:Agent的能力上下限及「Agent构建」核心技术栈调研分享~
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)