主要内容
CSS 结合 SVG 生成动画
SVG ,可缩放矢量图形(Scalable Vector Graphics),是一种用来描述二维矢量图形的 XML 标记语言。 简单地说,SVG 面向图形,HTML 面向文本。
IE9+,主流环境基本都能支持。具体参见
作为图片文件
img src属性引用,css background-image引用。
SVG作为图像引用时,大多数浏览器不会加载SVG自身引用的文件(其他图像,外部脚本,字体文件等),依据浏览器的安全策略,SVG中定义的脚本也可能不会执行。
作为应用程序
SVG文件也可以作为<object>元素的data属性引入HTML中。注意,MIME type必须是image/svg+xml。
<object data="image.svg" type="image/svg+xml">
...
</object>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="1024px" height="1024px">
</svg>
<rect x="60" y="10" rx="20" ry="40" width="100" height="100"/>
<circle cx="75" cy="75" r="60"/>
<ellipse cx="75" cy="75" rx="30" ry="20"/>
<line x1="10" x2="50" y1="110" y2="150" stroke="black" stroke-width="3"/>
<polyline points="60 60, 70 120, 80 130, 70 70" style="fill: none;stroke-width: 2;stroke: black;"/>
polygon和折线很像,它们都是由连接一组点集的直线构成。不同的是,polygon的路径在最后一个点处自动回到第一个点。
<polygon points="50 160, 55 180, 70 180, 60 190, 65 205, 50 195, 35 205, 40 190, 30 180, 45 180" style="fill: none;stroke: black;"/>
<path d="M 20 230 Q 40 205, 50 230 T 90230" style="fill: none;stroke: black"/>
SVG常用元素还有<g>组合,常用属性fill填充,stroke线条颜色,stroke-width线条粗细等等,具体参考MDN文档。
SVG 元素参考
SVG 属性参考
stroke-dasharray可控制用来描边的点划线的图案范式。
stroke-dashoffset 属性指定了dash模式到路径开始的距离
画圆环的动画效果,可用于提示加载百分比,倒计时等场景。
https://codepen.io/wishingtre...
EDIT ON[](https://codepen.io/wishingtree/pen/wYdNMz "Edit on CodePen")
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title></head><body> <svg width="440" height="440" viewbox="0 0 440 440" xmlns="http://www.w3.org/2000/svg"> <circle cx="220" cy="220" r="170" stroke-width="50" stroke="#D1D3D7" fill="none"></circle> <circle class="circle" cx="220" cy="220" r="170" stroke-width="50" stroke="#00A5E0" fill="none" transform="matrix(0,-1,1,0,0,440)"></circle></svg></body></html>
.circle { animation: circle 5s linear;}@keyframes circle { from { stroke-dasharray: 0 1069; } to { stroke-dasharray: 1069 0; }}
Document
[](https://codepen.io/wishingtree)
This Pen is owned by 素月拾掇 on CodePen.
See more by @wishingtree on CodePen
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.
Resources
Rerun
logo描边动画点击预览
logo描边动画2][7]
兼容性:ie死都不支持,移动端友好。具体参见
set元素不能产生动画效果,可以实现基本的延迟功能。就是指:可以在特定时间之后修改某个属性值(包括本身的XML属性和CSS属性值)。
attributeName 变动的属性的属性名。
from 变动的初始值。
to 变动的终值。
dur 动画的持续时间。
举个栗子点击预览
形状补间动画点击预览
attributeName固定为transform,可针对transform的相关属性生成动画,不详细介绍了。
animateMotion 元素可以让SVG各种图形沿着特定的path路径运动。
地球围绕太阳旋转点击预览
贴合路径弧度运动点击预览
SVG动画库:
1.SVG-Morpheus
使用参考
演示参考
2.snap.svg
原网址: 访问
创建于: 2020-03-01 17:31:44
目录: default
标签: 无
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
java windows火焰图_mob64ca12ec8020的技术博客_51CTO博客 - 在windows下不可行,不知道作者是怎样搞的 监听SpringBoot 服务启动成功事件并打印信息_监听springboot启动完毕-CSDN博客 SpringBoot中就绪探针和存活探针_management.endpoint.health.probes.enabled-CSDN博客 u2u转换板 - 嘉立创EDA开源硬件平台 Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架,快来试试它!_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统! - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011
Laravel China 简书 知乎 博客园 CSDN博客 开源中国 Go Further Ryan是菜鸟 | LNMP技术栈笔记 云栖社区-阿里云 Netflix技术博客 Techie Delight Linkedin技术博客 Dropbox技术博客 Facebook技术博客 淘宝中间件团队 美团技术博客 360技术博客 古巷博客 - 一个专注于分享的不正常博客 软件测试知识传播 - 测试窝 有赞技术团队 阮一峰 语雀 静觅丨崔庆才的个人博客 软件测试从业者综合能力提升 - isTester IBM Java 开发 使用开放 Java 生态系统开发现代应用程序 pengdai 一个强大的博主 HTML5资源教程 | 分享HTML5开发资源和开发教程 蘑菇博客 - 专注于技术分享的博客平台 个人博客-leapMie 流星007 CSDN博客 - 舍其小伙伴 稀土掘金 Go 技术论坛 | Golang / Go 语言中国知识社区
最新评论