问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

svg +动画和 css3 动画的区别

发布网友 发布时间:2022-04-06 13:34

我来回答

2个回答

懂视网 时间:2022-04-06 17:55

本篇文章通过代码实例给大家介绍一下svg+css3实现动感的波浪效果。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

一根矢量的波浪

<svg viewBox="0 0 560 20" class="wave-animation__water-wave wave-animation__water-wave--front">
 <use xlink:href="#wave"></use>
</svg>
<svg id="wave" width="100%" height="100%">
 <path d="M420,20c21.5-0.4,38.8-2.5,51.1-4.5c13.4-2.2,26.5-5.2,27.3-5.4C514,6.5,518,4.7,528.5,2.7c7.1-1.3,17.9-2.8,31.5-2.7c0,0,0,0,0,0v20H420z"></path>
 <path d="M420,20c-21.5-0.4-38.8-2.5-51.1-4.5c-13.4-2.2-26.5-5.2-27.3-5.4C326,6.5,322,4.7,311.5,2.7C304.3,1.4,293.6-0.1,280,0c0,0,0,0,0,0v20H420z"></path>
 <path d="M140,20c21.5-0.4,38.8-2.5,51.1-4.5c13.4-2.2,26.5-5.2,27.3-5.4C234,6.5,238,4.7,248.5,2.7c7.1-1.3,17.9-2.8,31.5-2.7c0,0,0,0,0,0v20H140z"></path>
 <path d="M140,20c-21.5-0.4-38.8-2.5-51.1-4.5c-13.4-2.2-26.5-5.2-27.3-5.4C46,6.5,42,4.7,31.5,2.7C24.3,1.4,13.6-0.1,0,0c0,0,0,0,0,0l0,20H140z"></path>
</svg>

完整代码:

<!DOCTYPE html>
<html>

<head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>

<body>
 <div class="circle-countdown circle-countdown--ended">
 <div class="circle-countdown__content-wrapper">
  <div class="circle-countdown__content wave-animation">
  <div id="water" class="wave-animation__water">
   <svg viewBox="0 0 560 20" class="wave-animation__water-wave wave-animation__water-wave--back">
   <path
    d="M420,20c21.5-0.4,38.8-2.5,51.1-4.5c13.4-2.2,26.5-5.2,27.3-5.4C514,6.5,518,4.7,528.5,2.7c7.1-1.3,17.9-2.8,31.5-2.7c0,0,0,0,0,0v20H420z">
   </path>
   <path
    d="M420,20c-21.5-0.4-38.8-2.5-51.1-4.5c-13.4-2.2-26.5-5.2-27.3-5.4C326,6.5,322,4.7,311.5,2.7C304.3,1.4,293.6-0.1,280,0c0,0,0,0,0,0v20H420z">
   </path>
   <path
    d="M140,20c21.5-0.4,38.8-2.5,51.1-4.5c13.4-2.2,26.5-5.2,27.3-5.4C234,6.5,238,4.7,248.5,2.7c7.1-1.3,17.9-2.8,31.5-2.7c0,0,0,0,0,0v20H140z">
   </path>
   <path
    d="M140,20c-21.5-0.4-38.8-2.5-51.1-4.5c-13.4-2.2-26.5-5.2-27.3-5.4C46,6.5,42,4.7,31.5,2.7C24.3,1.4,13.6-0.1,0,0c0,0,0,0,0,0l0,20H140z">
   </path>
   </svg>
   <svg viewBox="0 0 560 20" class="wave-animation__water-wave wave-animation__water-wave--front">
   <path
    d="M420,20c21.5-0.4,38.8-2.5,51.1-4.5c13.4-2.2,26.5-5.2,27.3-5.4C514,6.5,518,4.7,528.5,2.7c7.1-1.3,17.9-2.8,31.5-2.7c0,0,0,0,0,0v20H420z">
   </path>
   <path
    d="M420,20c-21.5-0.4-38.8-2.5-51.1-4.5c-13.4-2.2-26.5-5.2-27.3-5.4C326,6.5,322,4.7,311.5,2.7C304.3,1.4,293.6-0.1,280,0c0,0,0,0,0,0v20H420z">
   </path>
   <path
    d="M140,20c21.5-0.4,38.8-2.5,51.1-4.5c13.4-2.2,26.5-5.2,27.3-5.4C234,6.5,238,4.7,248.5,2.7c7.1-1.3,17.9-2.8,31.5-2.7c0,0,0,0,0,0v20H140z">
   </path>
   <path
    d="M140,20c-21.5-0.4-38.8-2.5-51.1-4.5c-13.4-2.2-26.5-5.2-27.3-5.4C46,6.5,42,4.7,31.5,2.7C24.3,1.4,13.6-0.1,0,0c0,0,0,0,0,0l0,20H140z">
   </path>
   </svg>
  </div>
  </div>
 </div>
 </div>


 <style>
 .circle-countdown {
  width: 441px;
  height: 441px;
  position: relative;
  top: 0;
  left: 0;
  padding: 2.5rem;
  border: 1px solid #fb64b6;
  border-radius: 50%;
  overflow: hidden;
 }

 .wave-animation {
  overflow: hidden;
 }


 .wave-animation__percent {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: flex;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 64px;
 }

 .wave-animation__water {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  /* 调整这里的60%就可以改变进度,波浪高低 */
  transform: translate(0, calc(100% - 60%));
  background: #f852d6;
  transition: all 2s;
 }

 .wave-animation__water-wave {
  width: 200%;
  position: absolute;
  bottom: 100%;


 }

 .wave-animation__water-wave--back {
  right: 0;
  fill: #1d1d1d;
  animation: wave-back 1.4s infinite linear;
 }

 .wave-animation__water-wave--front {
  left: 0;
  fill: #f852d6;
  margin-bottom: -1px;
  animation: wave-front 0.7s infinite linear;
 }

 @keyframes wave-front {
  100% {
  transform: translate(-50%, 0);
  }
 }

 @keyframes wave-back {
  100% {
  transform: translate(50%, 0);
  }
 }
 </style>
</body>

</html>

效果图:

更多炫酷CSS3、html5、javascript特效代码,尽在:js特效大全

热心网友 时间:2022-04-06 15:03

svg是可以在网页使用的矢量图像,可以用AI进行编辑和生成。
css3给svg加动画(改变尺寸、位置等)可以使用@keyframes和animation属性定义动画
不过svg本身就支持动画
参见:http://msdn.microsoft.com/zh-cn/library/gg193979
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...干或者杀人放火伤天害理的事 是不是 说谎对老天爷来也是不应该的事... 海尔BCD-206TD重要参数 海尔冰箱BCD_196TDXZ如何调温 农业银行密码锁定,但父母不在家怎么办? 奥比岛,号被盗,只记得初始密码,密保手机等密报全被改,充值记录也找不到... 拳皇97ol进阶称号获得方法介绍_拳皇97ol进阶称号获得方法是什么 有什么工作是周六日休息节假日的除了厂,列出来,最好初中毕业也能进_百... 广汉市新生代家庭农场怎么样? 想要考心理咨询师证书,合格证书,技能证书,能力证书等又是啥区别? 海盗船K70 RGB MK.2游戏机械键盘这个人体工程学键盘性价比怎么样?_百 ... ASF格式电影免费下载 请问谁知道用什么播放器下载电影电视剧什么的最快.不用转换格式的,直接下完拽到MP4里就OK的. 迅雷看看影视播放器最新版本是什么 那个播放器可以免费下载大量电影,电视,动漫。 播放器下载 影视播放器下载哪个好 生产企业如何消除安全隐患 定期开展什么及时消除安全隐患 问如何写好消除安全隐患、降低安全风险? 施工过程中如何降低安全风险 开放式办公室如何消除安全隐患 定期开展什么及时消除安全隐患? 请问:消除安全隐患?还是消除不安全隐患?那个说法是正确的? 怎样消除身边的安全隐患 如何消除事故隐患 降低安全风险和规避安全风险的区别 微信提示安全风险怎么解除 蔡司镜头客服跟我说属于正常现象 请专家解释一下 蔡司镜头里面有灰这属于正常现象? 相机清洁镜头 单反镜头 清洁 民办的中专学历国家认可不? 查询民办学校是否正规可以去教育局吗? 中专毕业证教育局可以查吗? 民办中专学历国家承认吗 民办三年制中专毕业证是教育局签发还是劳动局签发?在那里可以查? 国家不承认的民办中专学历教育局能查到学籍吗教育局有档案和备份吗? 中专毕业证如果是不是可以在任何地方的教育局都可以查得到? 省属民办中专毕业证书教育局认可吗? 中专毕业证,是不是教育局能查到 在教育局能查到1989年技校毕业证编号吗 我就读私立中专在当地教育局能查到学籍吗? 如何分辨中专学校是公办还是私立的 中专学历在网上能查到吗? 江西久久园林开发有限公司怎么样? 江西园林绿化壹级资质企业公司有哪些? 江西久久园林开发有限公司北京分公司怎么样? 江西省园林古建一级资质的企业有哪些 江西久久园林设计院有限公司怎么样? 江西久久置业有限公司怎么样? 厦门有哪些比较好的学校可以提供专升本