跟canvas对比:
svg绘制的每一个图形元素都是独立的DOM节点,能够方便的绑定事件用来修改。canvas采用位图,是基于像素的操作,输出的是一整个画布。
svg是基于适量图形进行绘制的,后期可以修改参数自由放大缩小,不会产生锯齿。canvas因为是位图会导致失真。
下面会直接以代码+注释解释的方式学习svg:
演示结果如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#wrap {
width: 100%;
height: 1000px;
}
</style>
</head>
<body>
<svg id="wrap">
<!--
x/y : 绘制的位置
w/h : 绘制的宽高
rx/ry: 圆角半径
fill: 填充颜色
stroke/stroke-width: 边框颜色/边框宽度
fill-opacity和opacity的区别:
前者只包含填充色的透明度
后者包含fill和stroke的透明度
-->
<rect x="100" y="100" fill="#fea" stroke="#aef" stroke-width=