学下SVG矢量图形,你也是个小小艺术家!

boyanx2个月前技术教程9

SVG 全面教程

1. SVG 简介

SVG(Scalable Vector Graphics)是一种基于XML的矢量图形格式,可以在不损失质量的情况下任意缩放。

2. 基础语法

<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<rect x="10" y="10" width="100" height="100" fill="red" />
</svg>

[SVG演练场](
https://developer.mozilla.org/en-US/play
)

3. 基本形状

3.1 矩形

<rect x="10" y="10" width="100" height="50" fill="blue" stroke="black" stroke-width="2"/>

3.2 圆形

<circle cx="50" cy="50" r="40" fill="green"/>

4. 路径绘制

<path d="M10 10 L100 10 L100 100 Z" fill="none" stroke="black"/>

5. 渐变效果

<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
</linearGradient>
</defs>
<rect x="10" y="10" width="200" height="100" fill="url(#grad1)" />

6. 滤镜效果

<defs>
<filter id="blur">
<feGaussianBlur in="SourceGraphic" stdDeviation="5" />
</filter>
</defs>
<rect x="10" y="10" width="100" height="100" fill="blue" filter="url(#blur)"/>

7. 动画效果

<rect x="10" y="10" width="50" height="50" fill="red">
<animate attributeName="x" from="10" to="200" dur="3s" repeatCount="indefinite"/>
</rect>

8. 实际应用案例

8.1 简单图标

<svg width="100" height="100">
<circle cx="50" cy="50" r="40" fill="yellow" stroke="black" stroke-width="2"/>
<circle cx="35" cy="40" r="5" fill="black"/>
<circle cx="65" cy="40" r="5" fill="black"/>
<path d="M30 70 Q50 90 70 70" fill="none" stroke="black" stroke-width="2"/>
</svg>

8.2 复杂图形



<svg width="200" height="200">
<path d="M20,20 L180,20 L180,180 L20,180 Z M40,40 L160,40 L160,160 L40,160 Z"
fill="none" stroke="black" stroke-width="2"/>
<circle cx="100" cy="100" r="30" fill="red"/>
<line x1="100" y1="40" x2="100" y2="160" stroke="blue" stroke-width="2"/>
<line x1="40" y1="100" x2="160" y2="100" stroke="blue" stroke-width="2"/>
</svg>

参考资料

  1. MDN SVG参考
  2. Inkscape 绘图软件
  3. SVG演练场
标签: svg路径动画

相关文章

【HarmonyOS Next之旅】兼容JS的类Web开发(五) -> Svg

目录1 -> 基础知识1.1 -> 创建Svg组件1.2 -> 设置属性2 -> 绘制图形3 -> 绘制路径4 -> 绘制文本4.1 -> 文本4.2 -&g...

他们做了份H5简历,然后,HR就主动“勾搭”他们了!

春风送暖,万物复苏。在这Word简历海量投、纸质招聘到处飞的季节,有这么一群派友们,他们的电话已被HR打爆!“这么牛!”“这么做到的?”“求秘诀!”今天,小派来揭秘了:他们已经在用创意H5简历了,赶快...

手把手教你H5实现工厂游戏的CSS动画效果「实践」

作者:吴冠禧 WecTeam转发连接:https://mp.weixin.qq.com/s/u5GHsA0vHz8A_MmGslRw2g0 契机与背景今年Q1(2020年第一季度)参与了京喜事业部「京...

【前端必备】Anime.js:用9KB的魔法,让动画“活”起来!

在当今的互联网时代,动画效果已经成为提升用户体验的关键因素之一。如果你还在为复杂的动画效果而烦恼,那么 Anime.js 绝对是你不能错过的选择!什么是 Anime.js?Anime.js 是一款轻量...

SVG交互图文|推送里的路径动画是怎么做到的?

线条自主移动变化构成画面,这种炫酷的路径动画特效,相信大家都见过。下面从业内首发SVG路径动画交互图文为案例,为大家分析一波。这是由「小编备用」于2019年5月交付于宝马的《你以为这只是一条线》从推文...

移动前端重构实战系列:5-7章

(本文系来自腾讯imweb团队 结一大大 关于移动端重构经验以及思想的实战系列,推荐点击左下角的阅读原文。)”本系列教程为实战教程,是自己移动端重构经验及思想的一次总结,也是对sheral UI的一次...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。