首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]css3实现波浪动画

发布于 2024-11-11 15:20:43
0
29

CSS3实现波浪动画已经成为前端开发的一个常见需求,本文将介绍如何使用CSS3实现波浪动画效果。

.wave {
  position: relative;
  width: 100%;
  height: 300px;
  background-color: #fff;
  overflow: hidden;
}

.wave .wave-bg {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 50%;
  background: #fff url(/path/to/wave.png) repeat-x;
  background-size: 40px 40px;
  
  animation: wave 2s linear infinite;
}

@keyframes wave {
  0% {
    transform: translateX(0) translateY(0) translateZ(0) scaleY(1);
  }
  50% {
    transform: translateX(0) translateY(-25px) translateZ(0) scaleY(0.5);
  }
  100% {
    transform: translateX(0) translateY(0) translateZ(0) scaleY(1);
  }
} 

在上述代码中,我们首先创建了一个类名为wave的元素作为容器,在这个容器内部再创建一个类名为wave-bg的元素作为背景,并使用CSS背景属性设置背景图片为波浪图案。

background: #fff url(/path/to/wave.png) repeat-x;
background-size: 40px 40px; 

我们还需要使用CSS3动画特效,在wave-bg元素上使用animation属性,设置动画名称为wave、持续时间为2秒、速度为线性、无限循环。

animation: wave 2s linear infinite; 

接着,在CSS中定义名为wave的关键帧动画,将translateY属性的值在50%时设置为-25px,使平面的波浪状折线产生伸缩变形,从而产生波浪动画效果。

@keyframes wave {
  0% {
    transform: translateX(0) translateY(0) translateZ(0) scaleY(1);
  }
  50% {
    transform: translateX(0) translateY(-25px) translateZ(0) scaleY(0.5);
  }
  100% {
    transform: translateX(0) translateY(0) translateZ(0) scaleY(1);
  }
} 

最后,通过在html中应用wave类名,即可实现波浪动画效果。

<div class="wave">
  <div class="wave-bg"></div>
</div> 

使用CSS3实现波浪动画效果并不难,只需要简单的CSS动画与transform属性的组合,即可实现一个优美的波浪动画效果。

评论
一个月内的热帖推荐
91云脑
Lv.1普通用户

62849

帖子

14

小组

291

积分

赞助商广告
站长交流