html矢量动画,一步步教你用HTML5 SVG实现动画效果

本文介绍了如何使用HTML5的SVG标记语言和CSS3来创建动态矢量动画,详细阐述了SVG的原理、CSS3的颜色和填充设置,以及如何通过stroke-dasharray和stroke-dashoffset实现动画效果。通过实例展示了如何构建一个带有进度动画的评分系统,涉及到了BEM命名规范、CSS布局技巧和JavaScript的动态数字增加效果。
摘要由CSDN通过智能技术生成

翻译:疯狂的技术宅

本文首发微信公众号:jingchengyideng

欢迎关注,每天都给你推送新鲜的前端技术文章

摘要

SVG是一种基于 XML 的,用于定义缩放矢量图形的标记语言。 它允许你通过在2D平面中确定的一组点来绘制路径、曲线和形状。 此外你还可以通过在这些路径上添加动态属性(例如笔触,颜色,粗细,填充等)来生成动画。

从2017年4月起,CSS Level 3 填充和描边模块 开始支持从外部样式表设置SVG颜色和填充图案,而不是在每个元素上设置属性。 在本教程中,我们将会使用简单的纯十六进制颜色,不过填充和描边属性也支持图案,渐变和图像作为值。

注意 :访问 Awwwards网站 时,你需要把浏览器宽度设置为1024px或更高的才能更好的查看动画显示。

4f92ff82e97b86b07dfa34ceca4bb47f.gif

文件结构

让我们从在终端中创建文件开始:

:rose: mkdir note-display

:rose: cd note-display

:rose: touch index.html styles.css scripts.js

HTML

这是连接 css 和 js 文件的初始模板:

Note Display

每个note元素都包含一个列表项: li 用于保存 circle , note 值及其 label 。

0bb774a76535d444ecda39d7f71b8ee6.png

图:列出项元素及其直接子元素: .circle , .percent 和 .label

.circle_svg 是一个 SVG 元素,它包含两个 元素。 第一个是要填充的路径,第二个用来为动画作准备。

2e85f562df5dbe25a01b8ced9d71b568.png

图:SVG元素:SVG包装器和圆形标签

注释分为整数和小数,所以可以把它们设定为不同大小的字体。 label 是一个简单的 。 把所有得这些元素放在一起看起来像这样:

0.

00

Transparent

cx 和 cy 属性定义圆的x轴和y轴中心点。 r 属性定义其半径。

你可能已经注意到类名中的下划线/破折号模式。 这是 BEM(block element modifier) ,分别代表 block , element 和 modifier 。 它是使元素命名更加结构化、有条理和语义化的一种方法。

为了完成模板结构,让我们将四个列表项包装在无序列表元素中:

8f59d860c1640fd7d4a6e3732ba172b8.png

图:无序列表包装器拥有四个 li 子元素

  • 0.

    00

    Transparent

  • 0.

    00

    Reasonable

  • 0.

    00

    Usable

  • 0.

    00

    Exemplary

你必须先问一下自己 Transparent 、 Reasonable 、 Usable 和 Exemplary 标签都代表什么意思。 随着你对编程的不断熟悉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值