摘要:起源自己的过渡动画,为什么要这个东西呢不是说好的么。所以本喵决定打造自己的过渡动画。给出的示例属性指定了模式到路径开始的距离通过修改这两个属性,动画的边界就相应的动起来了。
起源
自己的过渡动画,为什么要这个东西呢?不是说好的Simple is beautiful么。的确我也是非常欣赏简洁的东西,但是对于挂载在Github上的本博客,在国内访问总是不那么流畅,而Next主题的文字下落动画恰恰使博客访问体验变的非常糟糕(感觉访问变得更慢了)。所以本喵决定打造自己的过渡动画。
借鉴在两三个月前记得访问过一个个人博客,过渡动画非常惊艳,但当时并没有时间详细琢磨实现细节。如今正好借鉴一番,经过一番Google,还是本喵找到了(但是作者的博客好像没有维护了,无法访问),好在也是依托Github pages 挂载的博客,直接把源码下载下来进行研究。
地址: https://github.com/ceoimon/ce...
动画并非纯css实现而是使用了SVG + CSS
可缩放矢量图形(英语:Scalable Vector Graphics,SVG)是一种基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式。 SVG由W3C制定,是一个开放标准。
既然是矢量图,它的缩放就不会失真,因为表示方法是基于数学的表示,而不是像素点。动画中的笔画即是基于SVG中path标签中的数据先后顺序。
#mySVG path { stroke: #000; stroke-width: 2px; stroke-dasharray: 11434; stroke-dashoffset: 11456; -webkit-animation: dash 5s linear infinite; animation: dash 5s linear infinite; -webkit-animation-fill-mode: both; animation-fill-mode: both; /* -webkit-transition:fill 0.5s 1s linear; transition:fill 0.5s 1s linear;*/ } @-webkit-keyframes dash { 10% { stroke-dashoffset: 11456; } 70% { stroke-dashoffset: 0; fill: transparent; } 80% { stroke-dashoffset: 0; fill: #000; } 95% { stroke-dashoffset: 11456; fill: #000; } 100% { stroke-dashoffset: 11456; fill: transparent; } }
不过当我理解了这svg两个属性(stroke-dasharray,stroke-dashoffset)后,还是非常震惊于这个动画的实现原理。
stroke-dasharray属性可控制用来描边的点划线的图案范式。
MDN给出的示例:
stroke-dashoffset属性指定了dash模式到路径开始的距离
通过CSS修改这两个属性,动画的边界就相应的动起来了。
我的实现我的素材:
使用 AI 得到 SVG,最终效果:
GeekCat体验
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/116429.html
摘要:变形变形移动移动可以指定像素值也可以指定百分比,注意指定百分比是自身大小的百分比,因此可以用于设置盒子定位时的居中对齐在设置后再移动自身的即可。方向上的移动在现实生活中是距离变远,距离变近。1、过渡transition 过渡属性用法: transition :ransition-property transition-durationtransition-timing-functiontra...
摘要:让你收获满满码个蛋从年月日推送第篇文章一年过去了已累积推文近篇文章,本文为年度精选,共计篇,按照类别整理便于读者主题阅读。本篇文章是今年的最后一篇技术文章,为了让大家在家也能好好学习,特此花了几个小时整理了这些文章。 showImg(https://segmentfault.com/img/remote/1460000013241596); 让你收获满满! 码个蛋从2017年02月20...
摘要:本文介绍一个简单的类似的布局组件的实现,基于。介绍的内容已经制作成组件。即当不可以拖出抽屉时,应触发默认事件,比如垂直方向的滚动等等。这种优化可以将一部分复杂的计算工作提前准备好,使页面的反应更为快速灵敏。 本文介绍一个简单的DrawerLayout(类似Android的DrawerLayout)布局组件的实现,基于Vue.js。介绍的内容已经制作成 vue-drawer-layout...
阅读 2025·2023-04-25 17:48
阅读 3560·2021-09-22 15:37
阅读 2843·2021-09-22 15:36
阅读 5739·2021-09-22 15:06
阅读 1621·2019-08-30 15:53
阅读 1397·2019-08-30 15:52
阅读 682·2019-08-30 13:48
阅读 1097·2019-08-30 12:44