HTML(30)——动画

动画

实现步骤

  1. 定义动画

@keyframes 动画名称{

from{}

to{}

}
@keyframes 动画名称{

0%{}

10%{}

....

100%{}

}

2.使用动画

animation:动画名称 动画花费时间;

示例:盒子的宽度从200变到400px,两个状态一般用from to的形式

复制代码
  <style>
    .box {
      width: 200px;
      height: 100px;
      background-color: pink;
      animation: change 2s;
    }

    @keyframes change {
      from {
        width: 200px;
      }

      to {
        width: 400px;
      }
    }
  </style>
</head>

<body>
  <div class="box"></div>
</body>

多个状态变化:

复制代码
  <style>
    .box {
      width: 200px;
      height: 100px;
      background-color: pink;
      animation: change 2s;
    }

    @keyframes change {
      10% {
        width: 200px;
      }

      50% {
        width: 400px;
      }

      100% {
        width: 800px;
      }
    }
  </style>
</head>

<body>
  <div class="box"></div>
</body>

animation属性

animation是复合属性,包括:

animation: 动画名称 动画时长 速度曲线 延迟时间 重复次数 动画方向 执行完毕时状态

注意:

  • 动画名称和动画时长必须赋值
  • 取值不分先后顺序
  • 如果有两个时间值,第一个时间表示动画时长,第二个时间表示延迟时间

同时也可以拆分成多个属性

属性 作用 取值
animation-name 动画名称
animation 动画时长
animation 延迟时间
animation 动画执行完毕时状态 forwards:最后一帧状态 backwards:第一帧状态
animation 速度曲线 step(数字):逐帧动画
animation 重复次数 infinite为无限循环
animation 动画执行方向 alternate为反向
animation 暂停动画 paused为暂停,通常配合hover使用
相关推荐
哆啦A梦15881 小时前
axios 的二次封装
前端·vue.js·node.js
阿珊和她的猫1 小时前
深入理解与手写发布订阅模式
开发语言·前端·javascript·vue.js·ecmascript·状态模式
yinuo1 小时前
一行 CSS 就能搞定!用 writing-mode 轻松实现文字竖排
前端
snow@li2 小时前
html5:拖放 / demo / 拖放事件(Drag Events)/ DataTransfer 对象方法
前端·html·拖放
浪裡遊3 小时前
Nivo图表库全面指南:配置与用法详解
前端·javascript·react.js·node.js·php
漂流瓶jz4 小时前
快速定位源码问题:SourceMap的生成/使用/文件格式与历史
前端·javascript·前端工程化
samroom4 小时前
iframe实战:跨域通信与安全隔离
前端·安全
fury_1235 小时前
vue3:数组的.includes方法怎么使用
前端·javascript·vue.js
weixin_405023375 小时前
包资源管理器NPM 使用
前端·npm·node.js
宁&沉沦5 小时前
Cursor 科技感的登录页面提示词
前端·javascript·vue.js