HTML5 可缩放矢量图形(2)—SVG基础
参考文档——权威
SVG常识
渲染顺序——后来居上:越后面的元素越可见
单位——可以指定,也可以不指定,默认px,其他:em、%、cm、mm...
SVG画布——绘制图像的区域,无限大
SVG视窗——默认300*150,视窗把画布包裹起来,在svg标签设置width和height
超过视窗的元素不可见,是因为有一个overflow: hidden
样式,可以设置overflow: visible
让超出视窗边界的内容变得可见。
SVG坐标系统
SVG的坐标系和计算机绘图的坐标系一致,都是左上角为原点,X轴正方向向下,Y轴的正方向向右,单位为像素
初始坐标系
SVG包含两个坐标系:视窗坐标系和用户坐标系
视窗坐标系就是建立在视窗上的坐标自
用户坐标系是简历在SVG画布上的坐标系,也称当前坐标系
一开始完全重合!但是可以通过viewBox去改变这种默认对齐方式
viewBox
语法:viewBox ="<min-x> <min-y> <width> <height>"
min-x
和 min-y
决定了 viewBox 的左上角,width
和 height
决定了 viewBox 的宽和高。注意 width 或 height 如果设置成 0
,会禁止元素的渲染。
平移
<min-x> <min-y>
对用户坐标系进行平移
注意:可以理解为用户坐标系不动,视窗坐标系相反移动。
缩放
通过改变 width 和 height 的值可以缩放 viewBox 声明的区域。
当 viewBox 的宽高小于视窗的宽高时,相当于放大。
通过百分比和 viewBox 让 SVG 图形进行缩放
如果给视窗设置 width: 100%
和 height: 100%
,那么视窗的宽高就由它父元素的宽高决定,我们可以通过调整其父元素的宽高来放大和缩小 SVG 视窗,而不用修改 <svg>
的 width 和 height。仅仅是这样还不够,我们还需要通过 viewBox 来将 SVG 图形放大到整个视窗区域。
HTML5 可缩放矢量图形(2)—SVG基础的更多相关文章
- HTML5 可缩放矢量图形(1)—SVG基础
参考文档1 SVG基础 SVG介绍 概念:SVG 是使用 XML 来描述二维图形和绘图程序的语言.(理解就是一个在网页上使用笔画图的过程) 什么是SVG SVG 指可伸缩矢量图形 (Scalable ...
- HTML5: SVG (可缩放矢量图形)
ylbtech-HTML5: SVG (可缩放矢量图形) 可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式.它由万维网联盟制定,是一个开放标准. 1. ...
- svg可缩放矢量图形
可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式.它由万维网联盟制定,是一个开放标准. <svg xmlns="http://www.w ...
- SVG(可缩放矢量图形)
SVG可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式.SVG是W3C("World Wide W ...
- SVG :可缩放矢量图形(Scalable Vector Graphics)。
SVG 意为可缩放矢量图形(Scalable Vector Graphics). SVG 使用 XML 格式定义图像. SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失 SVG 使用 XML ...
- SVG基础
可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式.它由万维网联盟制定,是一个开放标准.SVG 是使用 ...
- SVG基础以及使用Javascript DOM操作SVG
SVG 不依赖分辨率 支持事件处理器 最适合带有大型渲染区域的应用程序(比如谷歌地图) 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快) 不适合游戏应用 Canvas 依赖分辨率 不支持事 ...
- SVG基础绘图实例
SVG可缩放矢量图(Scalable Vector Graphics),是使用 XML 来描述二维图形和绘图程序的语言,图像在放大或改变尺寸的情况下其图形质量不会有所损失,是万维网联盟的标准. 下面整 ...
- D3.js学习笔记(六)——SVG基础图形和D3.js
目标 在这一章,我们将会重温SVG图形,学习如何使用D3.js来创建这些图形. 这里会包括前面例子中的SVG基础图形以及如何使用D3.js设置图形的属性. 使用D3.js画一个SVG 的 圆 circ ...
随机推荐
- Day7 - H - 青蛙的约会 POJ - 1061
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特 ...
- Golang gin开源实例——表设计
UML Model 基本模型定义 type Model struct { ID int `gorm:"primary_key" json:"id"` Creat ...
- VS2019 添加控制器 主机运行转换时出现问题
问题: 解决方案: 更换低版本VS,亲测VS2017可行(其它未实测) VS2019目前没找到解决方案,VS版本问题 原文链接
- Web移动前端开发-——rem+less+媒体查询,rem+flexble.js+媒体查询
实际开发搞搞起来!!!! rem适配方案 媒体查询+rem+less 基础知识铺垫 第一步,我们需要拿到设计稿,安装设计稿的要求来设置一个合适的html字体大小. 第二步,计算元素大小的取值 页面re ...
- Python基础笔记:高级特性:切片、迭代、列表生成式、生成器、迭代器
题记: 在python中,代码不是越多越好,而是越少越好.代码不是越复杂越好,而是越简单越好. 1行代码能实现的功能,绝不写5行代码. 请始终牢记:代码越少,开发效率越高. 切片 >>&g ...
- React+Flask打造前后端分离项目开发环境
目录 前言 Backend-Flask Frontend-React Done References 前言 新的一年,开始水第一篇技术文.碰巧最近React玩得多,撸一篇文章纪念一下开发环境的搭建.
- 135-PHP final类和方法都是不可被继承或覆盖的
<?php final class final_class{ //定义final修饰的类 } class myclass extends final_class{ //试图继承final修饰的类 ...
- 解决对路径bin\roslyn..的访问被拒绝
使用visual studio开发,一重新编译就会报错: 对路径“bin\roslyn\System.Reflection.Metadata.dll”的访问被拒绝 一开始的解决办法就是把bin下的文件 ...
- MySQL5.7忘记密码解决方案
第一种方法 首先是网上普遍见到的 关闭服务 windows下在C:\ProgramData(隐藏文件夹)\MySQL\MySQL Server 5.7\my.ini中的[mysqld]下添加skip- ...
- MySQLWorkbench注释
不改变快捷键配置文件基础上 1. 通过菜单操作 Edit -> Format -> Un/comment 2. 键盘 (Windows 10, 其他操作系统未试过) Ctrl + / ( ...