svg中viewbox图解分析

晴空闲云
• 阅读 829

svg中有一个viewbox属性,中文翻译为视区,就是在svg上截取一小块,放大到整个svg显示。

这个属性初学的话有点难以理解,这边做一个简单的示例,一看就明白了。

1)先来一个svg,宽高各位300,设置一下边框:

<svg width="300" height="300" style="border: 1px solid steelblue">
</svg>

运行效果:

svg中viewbox图解分析

这边其实就是一个300*300的矩形。

2)svg里面画一个矩形:

<svg width="300" height="300" style="border: 1px solid steelblue">
    <rect x="10" y="10" width="200" height="100" fill="skyblue"></rect>
</svg>

运行效果:

svg中viewbox图解分析

3)设置svg的viewbox属性:

<svg width="300" height="300" style="border: 1px solid steelblue" 
    viewbox="105 55 60 60">
<rect x="10" y="10" width="200" height="100" fill="skyblue"></rect>
</svg>

先分析一下原理,再来看效果,上面设置的viewbox的值为:105 55 60 60,每个参数的含义如下:

105 表示相对于svg左上角的横坐标。
55 表示相对于svg左上角的纵坐标。
60 表示截取的视区的宽度。
60 表示截取的视区的高度。    

图示原理:

svg中viewbox图解分析

4) 非等比例的viewbox

上面的viewbox宽高和svg等比例,如果等比例,那么就是其中一边放到最大。

<svg width="300" height="300" style="border: 1px solid steelblue" 
    viewbox="105 55 60 60">
<rect x="10" y="10" width="200" height="100" fill="skyblue"></rect>
</svg>

图示原理:

svg中viewbox图解分析

还有不理解的可以给我留言。

点赞
收藏
评论区
推荐文章
晴空闲云 晴空闲云
2年前
svg绘制六种基本形状
svg简介svg意为可缩放矢量图形(ScalableVectorGraphics),最大的特点就是伸缩不会失真。svg是用xml进行描述的,在前端方面现在应用越来越广泛,各大浏览器支持越来越好了。这边尝试记录一下用svg画各种形状。svg标签要使用svg,需要先引入svg标签:html其中:width表示图片的宽。height表示图片的高。画长
Wesley13 Wesley13
2年前
java反射, 不看你可别后悔
<divid"content\_views"class"markdown\_views"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"round"d"M5,00,
Stella981 Stella981
2年前
AndroidStudio封装SDK的那些事
<divclass"markdown\_views"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"round"d"M5,00,2.55,5z"id"raphael
Stella981 Stella981
2年前
SVG跟随父级DIV自适应
后台返回过来的是这样的SVG标签<svgwidth"100%"height"100%"version"1.1"xmlns"http://www.w3.org/2000/svg"<gtransform"translate(00)"
Stella981 Stella981
2年前
H5中canvas和svg绘图方式介绍
在HTML5中包括了两种绘图方式,canvas和svg(矢量呈现),而与canvas不同的是,svg是一种XML标记语言,它既可以单独保存以“.svg”为后缀的文件在浏览器中打开显示,也支持建立svg标签直接嵌入在网页中显示,还可以通过<embedsrc"文件.svg"name"name自命"type"image/svgxml"height
Stella981 Stella981
2年前
Spring Boot 2下使用Feign找不到@EnableFeignClients的解决办法
<divid"content\_views"class"markdown\_views"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"round"d"M5,00,2
Wesley13 Wesley13
2年前
Java8中的LocalDateTime工具类
<divid"content\_views"class"markdown\_views"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"round"d"M5,00,
Easter79 Easter79
2年前
SVG跟随父级DIV自适应
后台返回过来的是这样的SVG标签<svgwidth"100%"height"100%"version"1.1"xmlns"http://www.w3.org/2000/svg"<gtransform"translate(00)"
Easter79 Easter79
2年前
SVG绘制矩形简单示例分享
最近我初学HTML5,刚在一步步学习SVG,积累了一些个人心得和程序代码,希望和大家分享,今天分享“svg之矩形”部分1、简单矩形效果图如下:!(http://static.oschina.net/uploads/space/2016/0222/213915_Umuu_2619189.png)关键代码:<svg
Stella981 Stella981
2年前
SVG绘制矩形简单示例分享
最近我初学HTML5,刚在一步步学习SVG,积累了一些个人心得和程序代码,希望和大家分享,今天分享“svg之矩形”部分1、简单矩形效果图如下:!(http://static.oschina.net/uploads/space/2016/0222/213915_Umuu_2619189.png)关键代码:<svg
晴空闲云
晴空闲云
Lv1
男 · 教师
专注前端,把复杂的编程讲简单,又不失深度。@公众号:晴空闲云
文章
26
粉丝
7
获赞
35