关于SVG的viewBox

简介:

在SVG中,通过svg标记的 width和height可以规定这段SVG代码所表达的数据在绘制时所占用的空间大小

如下代码svg设置了宽度与高度,rect同样,所以结果自然是全屏

<svg width="200" height="150" style="border:1px solid #cd0000;">
    <rect width="200" height="150" fill="#cd0000" />
</svg>

image 

 

考虑下,是不是这段SVG代码中所表达的数据全部均可被绘制出来达到可见呢?

svg出现了一个新的概念:viewBox

SVG就像是我们的显示器屏幕,viewBox就是截屏工具选中的那个框框,最终的呈现就是把框框中的截屏内容再次在显示器中全屏显示

viewBox参数

viewBox="x, y, width, height" // x:左上角横坐标,y:左上角纵坐标,width:宽度,height:高度

代码稍微修正下,增加viewBox控制

<svg width="200" height="150" viewBox="0,0,400,300" style="border:1px solid #cd0000;">
    <rect width="200" height="150" fill="#cd0000" />
</svg>

image

rect同样与svg尺寸一直,但是显示出来的大小确等比缩小了一倍

试着简单的理解:强制把分辨率提升到400*300 ,那么原来的svg尺寸是200*150,相对于400*300就等比缩小一倍了

同样的,如果把viewBox缩小一倍,那么反之svg会增加一倍

<svg width="200" height="200" viewBox="0,0,100,100" style="border:1px solid #cd0000;">
    <rect width="200" height="200" fill="#cd0000" />
</svg>

image


本文转自艾伦 Aaron博客园博客,原文链接:http://www.cnblogs.com/aaronjs/p/4956111.html,如需转载请自行联系原作者

相关文章
|
6天前
|
XML 移动开发 前端开发
Canvas和SVG:你应该选择哪一个?
Canvas和SVG:你应该选择哪一个?
30 2
|
6天前
|
Web App开发 移动开发 前端开发
SVG
这段代码将引用刚才定义的圆形,并将其放置在(20,20)的位置,大小为60x60。 除了<svg>和<use>元素外,SVG还提供了许多其他的元素和属性,可以帮助你创建各种复杂的图形。比如<rect>、<line>、<polygon>等元素,可以用来创建矩形、线条和多边形等。
29 0
|
6天前
|
XML 存储 编解码
svg的viewBox、width和height的设置说明
svg的是没有边界的,svg画布只是用于展示svg世界中某一个范围的内容,而对于超过了svg画布范围的内容,则会被遮挡。默认svg画布默认显示世界坐标下原点坐标的width*height面积的矩形视野。
|
8月前
用svg实现一个环形进度条
用svg实现一个环形进度条
44 0
|
XML 编解码 前端开发
|
数据采集 数据挖掘 Python
一篇文章带你了解SVG 渐变知识
一篇文章带你了解SVG 渐变知识
898 0
|
Web App开发 前端开发 Android开发