本文介绍: html中的SVG

1.1.1 什么是SVG?

SVG 意为可缩放矢量图形(Scalable Vector Graphics)。

SVG是一种使用xml技术描述图形语言使用 XML 格式定义图像

1.1.2 vscode编辑器中的插件

vscodesvg标签以及svg对应基本图标标签我们使用插件—SVG

vscode 预览我们使用插件—SVG Snippets

方法

输入 svg对应的标签名

例如

svgsvg ,会生成svg标签

svgcircle,会生成circle标签

svgimg,会生成image标签

等等

vscode 查看svg图形—SVG Viewer(查看svg图)

      Svg Preview效果预览需要选中.svg` 后缀文件,右上角才会有按钮进入预览

1.1.3 SVG在html

html中,使用svg,首先必须使用<svg>标签

使用<svg width=””  height=”” style=””  xmlns=”http://www.w3.org/2000/svg”  version=”1.1″><svg>元素

使用<svg>元素绘制图像时,这些元素必须定义<svg>元素中

svg标签的时候,在html页面中直接 输入 svg-svg+回车。

直接在html嵌入SVG代码

<svg width="600" height="600" style="border:1px solid blue;"
        viewBox="" version="1.1"
        xmlns="http://www.w3.org/2000/svg"
        xmlns:xlink="http://www.w3.org/1999/xlink">
   <circle cx="100" cy="100" r="40" fill="red" stroke="green" style=""/>
   <circle cx="300" cy="300" r="60" fill="red" stroke="green" style=""/>
   <circle cx="500" cy="500" r="30" fill="red" stroke="green" stroke-width="2" style=""/>
   <!-- <image xlink:href="" x="" y="" height="" width=""/> -->
   </svg>

预览:

 

Scalable Vector Graphics (SVG) 2   指定标准

我们可以给svg标签,添加边框线,style=”border: 1px solid blue;”让我们看到整体的svg的宽和高。

我们可以给svg标签,指定宽度高度width=”600″ height=”600″。如果我们不指定宽度高度当前这个svg就是默认宽度椒300,高度是150, 和canvas画布默认宽度高度是一样的。

注意:在Firefox、Internet Explorer9、谷歌Chrome和Safari中,你可以直接在HTML嵌入SVG代码

链接到SVG文件

首先创建circle1.svg文件里面代码如下

<svg width="400" height="400" style="border:1px solid blue;margin:0 auto;"
     viewBox="" version="1.1"
     <!-- xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"> -->
     <circle cx="150" cy="150" r="100" fill="orange" stroke="pink" stroke-width="5" style=""/>
   
</svg>

 预览:

 然后html文件中,写a超链接标签,用 <a> 标签链接一个 SVG 文件链接到 SVG 文件代码如下所示

<a href="circle1.svg">查看 SVG 文件</a>

 预览:

注意:

如果你的svg标签上,没有 以下属性设置访问svg文件时,会报bug

 <svg  viewBox="" version="1.1"
  xmlns="http://www.w3.org/2000/svg"
  xmlns:xlink="http://www.w3.org/1999/xlink"  />

 报的错误如下所示

 

svg代码可以写在一个独立的文件中,然后在html文件中,用<img>、<object>、<embed>、<iframe>等标签插入网页

<embed src="circle1.svg" type="image/svg+xml" />

注意:<embed>

<object data="circle1.svg" type="image/svg+xml"></object>

 

注意:<object>

<iframe src="circle1.svg"></iframe>

 

注意:<iframe>

优势:所有主要浏览器都支持,并允许使用脚本缺点:不推荐在HTML4和XHTML中使用(但在HTML5允许)

其中embedobject设置边框线的现象

<a href="./cr1.svg">查看svg文件</a> 
   <br><br><br>
   <iframe src="./cr1.svg" width="400" height="400" frameborder="0"></iframe>
   <br><br><br>
   <embed src="./cr1.svg" type="image/svg+xml" style="border:10px dashed red">

    <br><br><br>
    <object data="./cr1.svg" type="image/svg+xml"></object>

预览:

SVG常见属性

svg中的x、ywidthheight属性定义这段SVG代码所表达的数据绘制时所占用空间大小(可视区大小);svg中viewBox (0 0 200 200) :0 0 表示x轴和y有的起始位置即可视区View中哪个位置开始显示(可见),后面200, 200 表示长和宽但是只是一个数

用法设置4个值:*viewbox="x, y, width, height"*例子

这里定义画布尺寸是100×100px。但是,viewBox属性定义画布可以显示区域:从(0,0)点开始,200宽200高的区域。这个200x200的区域,会放到100x100的画布显示。于是就形成了缩小两倍的效果

viewbox定义的,也就是可视区可见的;坐标 (0, 0) 说明在左上角开始截,100 x 100 就是这个框框的宽x高

 

<svg width="400" height="400" style="border:1px solid blue"
     viewBox="0 0 200 200" version="1.1"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
     <circle cx="150" cy="150" r="100" fill="orange" stroke="pink" stroke-width="5" style=""/>
   
</svg>

注意:

你绘制的图像大小,不能比 我们指定的可视区域viewBox=”0 0 200 200″大小要大。 绘制的图像和 svg的宽度高度关系

1.1.4 SVG有一些预定义形状元素

SVG有一些预定义的形状元素,可被开发者使用和操作

矩形元素

<rect> 标签可用来创建矩形,以及矩形的变种

我们可以用属性,去设置这个矩形的边框线和填充色:

<svg width="" height=""
     viewBox="" version="1.1"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
    <rect x="" y="" width="" height="" style=""/>
</svg>

我们可以用style行内样式,去设置这个矩形的边框线和填充色:

<svg width="500" height="500"
     viewBox="" version="1.1"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
     <rect x="100" y="200" width="300" height="100" fill="blue" stroke="pink" stroke-width="2" style=""/>
     <rect x="100" y="0" width="300" height="100"  stroke="pink" stroke-width="2" style="fill:green; stroke:orange;stroke-width:10px;"/>
     
</svg>

预览:

 

原文地址:https://blog.csdn.net/weixin_52629158/article/details/128274752

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_24796.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注