svg中viewbox图解分析

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

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

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

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

运行效果:

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

**2)**svg里面画一个矩形:

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

运行效果:

**3)**设置svg的viewbox属性:

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

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

1105 表示相对于svg左上角的横坐标。 255 表示相对于svg左上角的纵坐标。 360 表示截取的视区的宽度。 460 表示截取的视区的高度。

图示原理:

4) 非等比例的viewbox

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

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

图示原理:

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

点赞
收藏

评论区

加载中...

相关推荐

svg绘制六种基本形状

svg简介svg意为可缩放矢量图形(ScalableVectorGraphics),最大的特点就是伸缩不会失真。svg是用xml进行描述的,在前端方面现在应用越来越广泛,各大浏览器支持越来越好了。这边尝试记录一下用svg画各种形状。svg标签要使用svg,需要先引入svg标签:html其中:width表示图片的宽。height表示图片的高。画长

java反射, 不看你可别后悔

<divid"content\_views"class"markdown\_views"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"round"d"M5,00,

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

SVG跟随父级DIV自适应

后台返回过来的是这样的SVG标签<svgwidth"100%"height"100%"version"1.1"xmlns"http://www.w3.org/2000/svg"<gtransform"translate(00)"

H5中canvas和svg绘图方式介绍

在HTML5中包括了两种绘图方式,canvas和svg(矢量呈现),而与canvas不同的是,svg是一种XML标记语言,它既可以单独保存以“.svg”为后缀的文件在浏览器中打开显示,也支持建立svg标签直接嵌入在网页中显示,还可以通过<embedsrc"文件.svg"name"name自命"type"image/svgxml"height

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