如何为svg矩形设置动画以使其像音乐波一样增长?

阿克巴尔·巴沙(Akbar Basha)

我有下面的代码,

<div id="akbar">
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg"
     width="400" height="200" viewBox="0 0 400 200">
    <g transform="scale(1,-1) translate(0,-200)">
      <rect x="50" y="0" fill="#f00" width="100" height="100">
        <animate attributeName="height" 
                 from="0" 
                 to="100" 
                 dur="0.5s" 
                 fill="freeze" />
      </rect>
      <rect x="150" y="0" fill="#f70" width="100" height="200">
        <animate 
                 attributeName="height" 
                 from="0" 
                 to="200" 
                 dur="0.5s" 
                 fill="freeze" />
      </rect>
      <rect x="250" y="0" fill="#ec0" width="100" height="150">
        <animate 
                 attributeName="height" 
                 from="0" 
                 to="150" 
                 dur="0.5s" 
                 fill="freeze" />
      </rect>
    </g>
  </svg>
</div>

我想为svg矩形设置动画,使其像音乐波一样增长。

我该如何实现?

我需要这种行为

wscourge

您可以使用

  • values
  • keyTimes
  • keySplines

<animate>标签的属性

JSfiddle示例

我将您的示例仅剥离为单列:

<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
 width="400" height="200" viewBox="0 0 400 200">
  <g transform="scale(1,-1) translate(0,-200)">
    <rect x="50" y="0" fill="#f00" width="100" height="100">
      <animate 
        attributeName="height" 
        from="0"
        to="100" 
        dur="1s" 
        fill="freeze"
        values="0; 200; 150; 160; 150; 160"
        keyTimes="0; 0.2; 0.4; 0.6; 0.8; 1"
        keySplines=".42 0 1 1;
                    0 0 .59 1;
                    .42 0 1 1;
                    0 0 .59 1;
                    .42 0 1 1;
                    0 0 .59 1;"
      />
    </rect>
  </g>
</svg>

由于尚不完善,您可以尝试使用这些属性来更好地调整时间(keySplines尤其是)并使其像音乐波一样多

在提供的示例中可以看到,移动的单列步是:

  1. 一路从底部到顶部
  2. 然后,从顶部到大约83%的高度
  3. 然后,从〜83%到〜88%
  4. 然后,从〜88%增至〜83%
  5. 然后,从〜83%增至〜88%

我猜想,增加那些重复的百分比数字(83和88)之间的差异将为您带来比我的效果更好的效果(该效果基于75%和80%,更容易计算widht: 200px),但效果接近。

还可以看一下有关SVG动画的CSS技巧文章,它非常详尽,涵盖了有关提及的属性的所有详细信息-以及更多。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何设置Windows 7防火墙以使其像普通的个人防火墙一样工作?

来自分类Dev

如何定位模块以使其像Pinterest一样显示?

来自分类Dev

如何在点按歌曲时像Spotify的音乐播放器一样通过触摸来垂直设置对象的动画,

来自分类Dev

像蜗牛一样的路径上的SVG动画

来自分类Dev

在Swift中,如何像自动滑动页面一样为UIView设置动画?

来自分类Dev

如何像Apple Mail App一样为UITableViewCells设置动画

来自分类Dev

如何从上到下为div设置动画?像流星一样

来自分类Dev

如何设置响应表样式以使表像列表一样?

来自分类Dev

如何为书法文字设置动画效果,就像手写的一样

来自分类Dev

如何制作像滑动一样的动画

来自分类Dev

重写文件夹以使其像root一样工作

来自分类Dev

我可以在Container中溢出小部件以使其像修剪的一样吗?

来自分类Dev

CakePHP迁移导致进行编辑以使其像添加一样

来自分类Dev

重写文件夹以使其像root一样工作

来自分类Dev

像现在一样制作动画

来自分类Dev

如何像Viber一样在我的iOS应用程序中播放SVG动画贴纸?

来自分类Dev

如何设置arduino引脚像跳线一样?

来自分类Dev

如何为所有相同的XSL FO元素设置样式?像CSS一样的XSL FO?

来自分类Dev

可以设置<button>的样式,使其像<a>或<span>一样在文本中流动吗?

来自分类Dev

动画html标签内容以使用纯CSS像轮播一样移入/移出

来自分类Dev

像广播节目一样播放音乐

来自分类Dev

像Google Play音乐“ Player”一样的ViewPager过渡

来自分类Dev

像音乐一样命令播放列表。

来自分类Dev

像广播节目一样播放音乐

来自分类Dev

如何为状态栏和工具栏的颜色变化设置动画(就像新的“日历”应用一样)

来自分类Dev

我如何实现一个视图,使其像圆角一样增加

来自分类Dev

如何使用PHP格式化检索到的MySQL数据以使其像域的子目录一样

来自分类Dev

在Windows上,是否有一种方法可以双击Shift键以使其像Capslock一样工作,就像移动键盘一样?

来自分类Dev

如何将案例类放入rdd并使其像元组(对)一样工作?

Related 相关文章

  1. 1

    如何设置Windows 7防火墙以使其像普通的个人防火墙一样工作?

  2. 2

    如何定位模块以使其像Pinterest一样显示?

  3. 3

    如何在点按歌曲时像Spotify的音乐播放器一样通过触摸来垂直设置对象的动画,

  4. 4

    像蜗牛一样的路径上的SVG动画

  5. 5

    在Swift中,如何像自动滑动页面一样为UIView设置动画?

  6. 6

    如何像Apple Mail App一样为UITableViewCells设置动画

  7. 7

    如何从上到下为div设置动画?像流星一样

  8. 8

    如何设置响应表样式以使表像列表一样?

  9. 9

    如何为书法文字设置动画效果,就像手写的一样

  10. 10

    如何制作像滑动一样的动画

  11. 11

    重写文件夹以使其像root一样工作

  12. 12

    我可以在Container中溢出小部件以使其像修剪的一样吗?

  13. 13

    CakePHP迁移导致进行编辑以使其像添加一样

  14. 14

    重写文件夹以使其像root一样工作

  15. 15

    像现在一样制作动画

  16. 16

    如何像Viber一样在我的iOS应用程序中播放SVG动画贴纸?

  17. 17

    如何设置arduino引脚像跳线一样?

  18. 18

    如何为所有相同的XSL FO元素设置样式?像CSS一样的XSL FO?

  19. 19

    可以设置<button>的样式,使其像<a>或<span>一样在文本中流动吗?

  20. 20

    动画html标签内容以使用纯CSS像轮播一样移入/移出

  21. 21

    像广播节目一样播放音乐

  22. 22

    像Google Play音乐“ Player”一样的ViewPager过渡

  23. 23

    像音乐一样命令播放列表。

  24. 24

    像广播节目一样播放音乐

  25. 25

    如何为状态栏和工具栏的颜色变化设置动画(就像新的“日历”应用一样)

  26. 26

    我如何实现一个视图,使其像圆角一样增加

  27. 27

    如何使用PHP格式化检索到的MySQL数据以使其像域的子目录一样

  28. 28

    在Windows上,是否有一种方法可以双击Shift键以使其像Capslock一样工作,就像移动键盘一样?

  29. 29

    如何将案例类放入rdd并使其像元组(对)一样工作?

热门标签

归档