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使用
相关推荐
折果31 分钟前
如何在vue项目中封装自己的全局message组件?一步教会你!
前端·面试
不死鸟.亚历山大.狼崽子34 分钟前
Syntax Error: Error: PostCSS received undefined instead of CSS string
前端·css·postcss
汪子熙34 分钟前
Vite 极速时代的构建范式
前端·javascript
跟橙姐学代码35 分钟前
一文读懂 Python 的 JSON 模块:从零到高手的进阶之路
前端·python
前端小巷子1 小时前
Vue3的渲染秘密:从同步批处理到异步微任务
前端·vue.js·面试
nightunderblackcat1 小时前
新手向:用FastAPI快速构建高性能Web服务
前端·fastapi
小码编匠2 小时前
物联网数据大屏开发效率翻倍:Vue + DataV + ECharts 的标准化模板库
前端·vue.js·echarts
欧阳天风2 小时前
分段渲染加载页面
前端·fcp
艾小码2 小时前
TypeScript在前端的实践:类型系统助力大型应用开发
前端·typescript
今禾3 小时前
前端工程化的范式革命:从 Webpack 的“全量打包”到 Vite 的“按需编译”
前端·webpack·vite