HTML5:七天学会基础动画网页12

"书接上回"继续对transition补充,在检查中找到ease后,鼠标放到ease前的紫色小方块就可以对运动曲线进行调整,这个曲线叫贝塞尔曲线,这里不做别的补充,不用了解,我们只要知道这个运动方式不只是有简单的匀速,慢快慢,快慢等,我们也可以对它进行具体的调整

例:

transition:left 8s cubic-bezier... 2s;

表示元素的left属性渐变执行8秒,执行曲线2秒后开始执行。

我们还可以用transition来写一个进度条

<style>

.box{

width: 20%;

height: 20px;

border: 1px solid rgb(0, 225, 255);

border-radius: 20px;

margin: 50px auto;

padding: 3px;

}

.pmgressbar{

width: 20%;

height: 20px;

background-color: rgb(0, 225, 255);

transition: all 1s ease;

}

.box:hover .pmgressbar{

width: 90%;

}

</style>

</head>

<body>

<div class="box">

<div class="pmgressbar"></div>

</div>

后面肯定还有效果更好的写法,先不说这个

动画的语法和使用<创建关键帧>

创建动画的步骤:

@keyframes:创建动画(关键帧)

animation:在对应元素上使用动画

@keyframes规则:

++@keyframes animationname++(动画名称){

keyframes-selector(动画时长的百分比,值是从++0%到100%++){ css-styles;}

}

语法:

animation :name(必写,动画名字)

duration(必写,执行时间)

timing-function(速度曲线默认是 linear线性)

delay(延迟时间)

interation-count(执行次数)

direction(方向,正向/反向)

fill-mode(最后停留位置);

可以来上手先练一下,写一个方块移动到指定位置的动画,流程如下

<style>

*{

margin: 0;

padding: 0;

}

.box{

width: 200px;

height: 200px;

background-color: pink;

/* ++使用动画,动画要加在将要发生动画的元素上++ */

/* 后面这个5s的执行时间改为infinite就是无限次执行 */

animation: hello(起的名字) 5s;

}

@keyframes hello{

0%{}

100%{transform: translate(1200px,500px);}

}

</style>

</head>

<body>

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

</body>

然后它就会在5s内完成移动到给定坐标的任务

只需要规定每个百分度(如0%.10%.20%...)移动的位置,我们的素材就会按照这个进度在规定时间内完成任务,其中0%可以用from代替,100%可以用to代替。

关于方向direction:

reverse:反向播放

alternate:先正向播放再反向播放,交替进行。

alternate-reverse:先反后正,交替进行。

关于最后的位置fill-mode

forwards:动画完成后,保持最后一个属性停 留在结束状态。

backwards:在delay指定的时间内,在动画 显示之前应用开始属性值(在第一 个关键帧中定义)

无论对什么技能知识而言,去做永远是最好的老师,当我们不清楚一个属性的具体用法,去写一遍再检查调试比单看理论胜百倍。

相关推荐
审小匠OpenCPAi6 小时前
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比
java·前端·人工智能·python·审计
Revolution616 小时前
一个公共表格组件,是怎么一步步失控的
前端·前端工程化
腻害兔6 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:CRM 客户关系模块深度解析——从线索到回款,一套完整的 B2B 销售闭环是怎么搭的?
java·前端·javascript·vue.js·产品经理·ai编程
whyfail6 小时前
前端学 Spring Boot(2):一次点击,如何穿过整个后端?
前端·spring boot·后端
AI多Agent协作实战派7 小时前
AI多Agent协作系统实战(二十三):Agent读HEARTBEAT.md不读AGENTS.md——openclaw的文件加载之谜
前端·数据库·人工智能·uni-app
2601_955760078 小时前
如何用 Claude Opus 5 API 批量扩展长尾关键词和文章选题
前端·python·搜索引擎
KaMeidebaby8 小时前
卡梅德生物技术快报|bli亲和力检测gst:告别批量跑胶:BLI实时酶切监测技术加速GST融合蛋白下游流程优化
前端·网络·数据库·人工智能·算法
触底反弹8 小时前
🚀 删了数据刷新又回来?3 组件 × 4 回调 × 3 坑讲透 React 父子通信
前端·javascript·react.js
耳东小鹿9 小时前
对象常用方法
前端
程序员海军9 小时前
一个 AI 应用开发程序员的一天,都在屏幕前忙些什么?
前端·后端·程序员