首页 前端知识 CSS 动画效果(5种) - 附完整示例

CSS 动画效果(5种) - 附完整示例

2025-02-28 12:02:48 前端知识 前端哥 164 1000 我要收藏

CSS动画(CSS Animations)可以使网页元素呈现平滑的动态效果。通过使用@keyframes规则和CSS的animation属性,你可以定义复杂的动画效果。

目录

一、基本语法

1、@keyframes定义动画

2、animation属性

二、完整示例

1、多重平移动画与旋转

        1)HTML

        2)CSS

        3)效果

2、立体浮动效果

        1)HTML

        2)CSS

        3)效果

3、 分解展开效果

        1)HTML

        2)CSS

        3)效果

4、 文字渐变动画

        1)HTML

        2)CSS

        3)效果

5、平移动画

        1)HTML

        2)CSS

        3)效果

欢迎关注VX公众号:前端小知识营地


一、基本语法

1、@keyframes定义动画

        @keyframes用于定义动画的关键帧,动画将在这些关键帧之间进行过渡。

@keyframes animation-name {
  from {
    /* 初始状态 */
    transformrotate(0deg);
    opacity0;
  }
  to {
    /* 结束状态 */
    transformrotate(360deg);
    opacity1;
  }
}
复制
复制

2、animation属性

        动画是通过animation属性应用到元素上的。这个属性用于指定动画的名称、时长、延迟时间、重复次数等。

.element {
  animation: animation-name 2s ease-in-out infinite;
}
复制
复制

注:  animation-name: 指定使用的@keyframes动画名称。

         2s: 动画持续的时间(例如2秒)。

         ease-in-out: 动画的过渡曲线,表示动画的开始和结束会慢一些,中间较快。

         infinite: 动画的重复次数(infinite表示无限循环)。

二、完整示例

1、多重平移动画与旋转

        1)HTML
<div class="rotate"></div>
复制

        2)CSS
.rotate {
  width: 100px;
  height: 100px;
  background-color: red;
  animation: rotateAnimation 4s linear infinite;
}
@keyframes rotateAnimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
复制

        3)效果

2、立体浮动效果

        1)HTML
<div class="fade"></div>
复制

        2)CSS
 
.fade {
  width: 100px;
  height: 100px;
  background-color: green;
  animation: fadeInOut 3s ease-in-out infinite;
}
@keyframes fadeInOut {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
复制
        3)效果

3、 分解展开效果

        1)HTML
<div class="bounce"></div>
复制

        2)CSS
.bounce {
  width: 100px;
  height: 100px;
  background-color: blue;
  border-radius: 50%;
  animation: bounceAnimation 2s ease-in-out infinite;
}
@keyframes bounceAnimation {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px);
  }
  100% {
    transform: translateY(0);
  }
}
复制
        3)效果

4、 文字渐变动画

        1)HTML
<div class="colorChange"></div>
复制

        2)CSS
.colorChange {
  width: 100px;
  height: 100px;
  animation: changeColor 5s linear infinite;
}
@keyframes changeColor {
  0% {
    background-color: red;
  }
  50% {
    background-color: yellow;
  }
  100% {
    background-color: blue;
  }
}
复制
        3)效果

图片

5、平移动画

        1)HTML
<div class="move"></div>
复制

        2)CSS
.move {
  width100px;
  height100px;
  background-color: purple;
  animation: moveAnimation 3s ease-in-out infinite;
}
@keyframes moveAnimation {
  0% {
    transformtranslateX(0);
  }
  50% {
    transformtranslateX(200px);
  }
  100% {
    transformtranslateX(0);
  }
}
复制
        3)效果

欢迎关注VX公众号:前端小知识营地

转载请注明出处或者链接地址:https://www.qianduange.cn//article/21835.html
标签
评论
还可以输入200
共0条数据,当前/页
会员中心 联系我 留言建议 回顶部
复制成功!