svg动画 之 我的自制太阳系
SVG意为可缩放矢量图形,svg的图片与普通的jpg,png等图片相比,其优势在于不失真。一般普通的图片放大后,会呈现出锯齿的形状,但是svg图片则不会这样,它可以被高质量地打印。
现在就用dreamweaver制作一个简单的svg动画,用来表示太阳系。
分享代码如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>太阳系</title>
</head> <body>
<svg width="100%" height="100%">
<defs>
<g id="E" transform="translate(-340,-90)">
<image xlink:href="image/earth.gif" x="330" y="75" height="30px" width="30px"></image>
<path id="path2" d="M390,80 h 0 a50,19 0 1,0 1,1 z" fill="none" stroke="white" stroke-width="1"/>
<circle cx="0" cy="0" r="5" fill="white" stroke="black" stroke-width="1" >
<animateMotion dur="30s" repeatCount="indefinite">
<mpath xlink:href="#path2" />
</animateMotion>
</circle>
</g>
<radialGradient id="sunfill" cx="50%" cy="50%" r="100%">
<stop stop-color="#FF0000" offset="0%" stop-opacity="1"/>
<stop stop-color="#FBF900" offset="95%" stop-opacity="1"/>
<stop stop-color="#FFFFFF" offset="100%" stop-opacity="1"/>
</radialGradient>
</defs> <rect x="0" y="0" width="100%" height="100%" fill="black" /> <circle cx="660" cy="250" r="60" fill="url(#sunfill)" />
<path id="path1" d="M1200,200 h 0 a600,200 0 1,0 1,1 z" fill="none" stroke="white" stroke-width="1"/> <use x="0" y="0" xlink:href="#E">
<animateMotion dur="365s" repeatCount="indefinite" >
<mpath xlink:href="#path1" />
</animateMotion>
</use>
</svg>
</body>
</html>
SUN
在这段代码中,地球的自转图是在网上下载的,然后,月亮,太阳以及轨道线都是用代码画出来的。
<g>该标签将地球与月亮化为一体,当作一个整体,然后再与太阳合在一起。
transform 则是表示转动。
radialGradient 这个则表示渐变。赋予一个id,然后将其和太阳联系起来,这里用的是:fill=“url(#sunfill)”。
animateMotion 这个是让月亮绕着地球动的属性。
最后的效果图如下:

这里所显示的是截取的部分时间,然后出现的效果。
svg动画 之 我的自制太阳系的更多相关文章
- SVG动画
动画原理 SVG动画,就是元素的属性值关于时间的变化. 如下图来说,元素的某个属性值的起始值(from)到结束值(to)在一个时间段(duration)根据时间函数(timing-function)计 ...
- 推荐8个实现 SVG 动画的 JavaScript 库
SVG 是一种分辨率无关的图形(矢量图形).这意味着它在任何类型的屏幕都不会遭受任何质量损失.除此之外,你可以让 SVG 灵活现一些动画效果.这篇文章就给大家推荐8个实现 SVG 动画的 JavaSc ...
- 使用 SVG 动画实现弹性的页面元素效果
Codrops 分享了一些给SVG元素加上弹性动画的灵感.实现的思路是把一个SVG元素整合成一个组件,然后从一个路径弹性动画到另一个.这种效果可以应用到像菜单,按钮或其它元素,使得交互更有趣,看起更原 ...
- Walkway.js – 用线条制作简约的 SVG 动画
Walkway.js 是一个使用线条和路径元素组成 SVG 动画图像的简单方法.只需根据提供的配置对象创建一个新的 Walkway 实例就可以了.这种效果特别适合那些崇尚简约设计风格的网页.目前, W ...
- 带给你灵感:30个超棒的 SVG 动画展示【上篇】
前端开发人员和设计师一般使用 CSS 来创建 HTML 元素动画.然而,由于 HTML 在创建图案,形状,和其他方面的局限性,它们自然的转向了 SVG,它提供了更多更有趣的能力.借助SVG,我们有更多 ...
- 带给你灵感:30个超棒的 SVG 动画展示【下篇】
前端开发人员和设计师一般使用 CSS 来创建 HTML 元素动画.然而,由于 HTML 在创建图案,形状,和其他方面的局限性,它们自然的转向了 SVG,它提供了更多更有趣的能力.借助 SVG,我们有更 ...
- HTML5的 2D SVG和SVG DOM的学习笔记(2)---SVG动画
SVG支持动画.可以通过以下几种方法获得动画效果: 使用SVG动画元素.SVG可以描述随时间变化的图形对象,使用不同的动画元素可以定义运动路径,淡入淡出效果和对象的膨胀.收缩.旋转和变换颜色. 使用S ...
- SVG动画实践篇-模拟音量高低效果
git 地址:https://github.com/rainnaZR/svg-animations/tree/master/src/demo/step2/volumn 说明 这个动画的效果就是多个线条 ...
- 借助Bodymovin播放svg动画
svg动画,截取工具有点不忍直视了~~~ 为了实现上面的svg动画,可以使用bodymovin插件,简单配置之后,就可以直接可以实现在 AE(可视化操作,不用码代码)上面导出 svg的json数据,在 ...
随机推荐
- Drupal忘记管理员密码
第一步:登陆录到phpmyadmin(通用的mysql数据库管理工具),进入phpmyadmin后,找到与drupal7相关联数据库并在数据库中找到一张名为“users”的表,然后选择浏览. 第二步: ...
- Bootstrap 弹出框(Popover)插件
Bootstrap 弹出框(Popover)插件与Bootstrap 提示工具(Tooltip)插件类似,提供了一个扩展的视图,用户只需要把鼠标指针悬停到元素上面即可.弹出框的内容完全由Bootstr ...
- [JZOJ] 5935. 小凯学数学
由Noip2018初赛的知识得,a|b + a&b = a+b 设计一个区间dp,设\(f[l][r][x]\)表示区间\([l,r]\)能否构成\(x\),数据不大,转移暴力枚举 复杂度\( ...
- pyhon之99乘法表
1.长方形完整格式 for i in range(1,10): for j in range(1,10): print("%d*%d" %(j,i),end=" &quo ...
- 【转】JSP提交表单
设计表单页面,它是静态页面,使用HTML编写,而且使用了JavaScript脚本语言来验证填写表单数据,表单页面为form.htm,代码如下: <html><head>< ...
- [BZOJ1503]郁闷的出纳员(Splay)
Description OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常 ...
- 17,基于scrapy-redis两种形式的分布式爬虫
redis分布式部署 1.scrapy框架是否可以自己实现分布式? - 不可以.原因有二. 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls ...
- pip install 报错 Could not fetch URL
Could not fetch URL https://pypi.python.org/simple/xxx/: There was a problem confirming the ssl cert ...
- Django 三—— Form组件
内容概要: 1.Django Form如何自定义验证字段 2.Django Form如何动态的显示数据库中新插入的数据 3.Tyrion Django的Form(用于验证用户请求合法性的一个组件) D ...
- error LNK2001: unresolved external symbol ___CxxFrameHandler3
Q: VS2005编译的静态库, 在vc++6.0中连接出现错误 error LNK2001: unresolved external symbol ___CxxFrameHandler3 A: ...