复杂的 polygon 矢量如何做 CSS 动画?

2017-07-25 02:23:57 +08:00
 islujw

使用 iPad Pro 上的 Nebo app 写了一些字,导出为 HTML,是 svg 的。

但是有一些笔画比较复杂,尽管我都尽可能一笔一画拆开了,但 svg 内不全是 <path>,而有一些是 <polygon>,也就是超过三边的多边形矢量。

我知道 <path> 的矢量,能做单个笔画从无书写到完整的动画,原理是将线条的描边设为虚线式,然后设置每个虚线段的长度超过线条本身长度,再变化虚线段之间的距离值。

但 <polygon> 的笔画可想而知,因为笔画较为复杂,而变为了非线条的面,每个 <polygon> 内的坐标都有数百个点。

那么,如何为 <polygon> 制作一笔一画出现的 CSS 动画呢?

3198 次点击
所在节点    CSS
4 条回复
P233
2017-07-25 07:14:38 +08:00
把 polygon 转成 path 呢? "points" 改成 "d",属性值的开头和结尾分别添加 "M" 和 "z"
P233
2017-07-25 07:34:05 +08:00
@P233 有点问题,用 stroke 变化,原来的 polygon 是个闭环
islujw
2017-07-25 13:05:58 +08:00
@P233 polygon 是定义多边形,和 path 应该是不一样的。
P233
2017-07-25 13:40:16 +08:00
https://stackoverflow.com/questions/32060838/svg-handwriting-animation-without-using-stroke-properties

这个应该会有帮助吧,没有直接变化笔画本身,而是去变化笔画的遮罩。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/377700

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX