笔记-SVG

概念

SVG意为可缩放矢量图形。SVG使用XML格式定义图像。

特点

  • SVG图像在放大或改变尺寸的情况下其图形质量不会有所损失。
  • SVG是万维网联盟的标准。
  • SVG与JPEG和GIF图像比起来,尺寸更小,且可压缩性更强。
  • SVG图像可在任何的分辨率下被高质量地打印。
  • SVG可在图像质量不下降的情况下被放大。
  • SVG图像中的文本是可选的,同时也是可搜索的(适合做地图)
  • SVG文件是纯粹的XML。

SVG代码以<svg>元素开始,包括开启标签<svg>和关闭标签</svg>。这是根元素。widthheight属性可设置此SVG文档的宽度和高度。version属性可定义所使用的SVG版本,xmlns属性可定义SVG命名空间。SVG代码以<circle>用来创建一个圆。cx和cy属性定义圆中心的x和y坐标。如果忽略这两个属性,那么圆点会被设置为(0,0)。r属性定义圆的半径。strokestroke-width属性控制如何显示形状的轮廓。我们把圆的轮廓设置为2px宽,黑边框。fill属性设置形状内的颜色。我们把填充颜色设置为红色。

在HTML中

SVG可以通过下面标签嵌入HTML文档中:

<embed><object> 或者 <iframe>

  • <embed标签:
    优势:所有主要浏览器都支持,并允许使用脚本。
    缺点:不推荐在HTML4和XHTML中使用(但在HTML5中允许)
    语法:
<embed src="circle1.svg" type="image/svg+xml" />
  • <object>标签:
    优势:所有主要浏览器都支持,并支持HTML4、XHTML和HTML5标准
    缺点:不允许使用脚本。
    语法:
<object data="circle1.svg" type="image/svg+xml"></object>
  • <iframe>标签:
    优势:所有主要浏览器都支持,并允许使用脚本
    缺点:不推荐在HTML4和XHTML中使用(但在HTML5允许)
    语法:
<iframe src="circle1.svg"></iframe>
SVG的代码可以直接嵌入到HTML页面中,或者可以直接链接到SVG文件
  • 在Firefox、Internet Explorer9、谷歌Chrome和Safari中,你可以直接在HTML嵌入SVG代码。
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
   <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>
  • 链接到SVG文件
<a href="circle1.svg">View SVG file</a>

SVG Stroke属性

  • stroke属性
    stroke属性定义一条线,文本或元素轮廓颜色。

  • stroke-width属性
    定义了一条线,文本或元素轮廓厚度。

  • stroke-linecap属性
    strokelinecap属性定义不同类型的开放路径的终结。

  • stroke-dasharray 属性
    stroke-dasharray属性用于创建虚线。

stroke-dasharray为一个参数时: 其实是表示虚线长度和每段虚线之间的间距  如:stroke-dasharray = ‘10’ 表示:虚线长10,间距10,然后重复 虚线长10,间距10

两个参数或者多个参数时: 一个表示长度,一个表示间距  如:stroke-dasharray = '10, 5’表示:虚线长10,间距5,然后重复 虚线长10,间距
如:stroke-dasharray = '20, 10, 5’表示:虚线长20,间距10,虚线长5,接着是间距20,虚线10,间距5,之后开始如此循环

  • stroke-dashoffset属性
    stroke-dashoffset属于相对于起始点的偏移,正数偏移x值的时候,相当于往左移动了x个长度单位,负数偏移x值的时候,相当于往右移动了x个长度单位。
    不管偏移的方向是哪边,dasharray是循环的,也就是虚线-间隔-虚线-间隔。

SVG里的viewbox

用法:
在这里插入图片描述
坐标图:
在这里插入图片描述
举例:

<svg viewbox="25 25 50 50"></svg>

以25,25为左边,取宽高50的部分截取。

SVG实现loading

codepen看效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值