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

CSS3动画

CSS3过渡的基本用法:

CSS3过渡是元素从一种样式逐渐改变为另一种样式的效果。

过渡属性-transition

值与说明

transition-property

必需,指定CSS属性的name,transition效果即哪个属性发生过渡。

transition-duration

必需,transition效果需要指定多少秒s或毫秒ms才能完成。

transition-timing-function

指定transition效果的转速曲线,即规定过渡效果在不同阶级的速度。

transition-delay

定义transition效果开始的时候延时。

语法:

transition: property duration

timing-function delay;

例:我们鼠标放置div上时,变化在两秒内完成

<style>

*{

margin: 0;

padding: 0;

}

.box{

width: 200px;

height: 100px;

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

margin: 50px auto;

}

.box:hover{

width: 400px;

height: 200px;

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

transition: ++all++ 2s;

}

</style>

</head>

<body>

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

</body>

除了宽高当然背景颜色也是可以渐变的,一个一个写width,height bgc太麻烦,我们如果想全部变化就直接写all。

过渡这个属性是谁想发生变化就加在谁上面,我们也可以分开设置: transition: width 2s,height 3s,background-color 3s; (注意用逗号隔开),每个属性单独控制以达到意想不到的效果。


过渡效果在不同阶段的效果timing-function

值与说明

linear(线性的)

规定以相同速度开始是结束的过渡效果(++匀速++)

ease

规定慢速开始,然后变快,最后慢速结束的过渡效果(++慢快慢++)

ease-in

规定以慢速开始的过渡效果(++慢快++)

ease-out

规定以慢速结束的过渡效果(++快慢++)

ease-in-out

规定以慢速开始和结束的过渡效果(++慢快慢++),效果比ease还要慢一点。


我们可以写运动的方块来看看他们的具体运动情况,上代码:

<title>css3动画</title>

<style>

*{

margin: 0;

padding: 0;

}

.box{

width: 70%;

border: 2px solid black;

margin: 20px auto;

position: relative;

height: 500px;

}

.a,.b,.c,.d,.e{

width: 70px;

height: 70px;

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

text-align: center;

line-height: 70px;

color: white;

font-size: 13px;

margin-top: 20px;

position: absolute;

top: 0;

left: 0;

}

.a{

transition: all 5s linear;

}

.b{

margin-top: 110px;

transition: all 5s ease;

}

.c{

margin-top: 200px;

transition: all 5s ease-in;

}

.d{

margin-top: 290px;

transition: all 5s ease-out;

}

.e{

margin-top: 380px;

transition: all 5s ease-in-out;

}

.box:hover .a,(注意hover后有空格)

.box:hover .b,

.box:hover .c,

.box:hover .d,

.box:hover .e{

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

left: 95%;(令其移动到右边95%的位置)

}

</style>

</head>

<body>

<div class="box">

<div class="a">linner</div>

<div class="b">ease</div>

<div class="c">ease-in</div>

<div class="d">ease-out</div>

<div class="e">ease-in-out</div>

</div>

</body>

也可以加上颜色渐变,更清晰观察运动变化

相关推荐
_阿南_5 小时前
项目中新增给AI制定的代码规范
前端·程序员
名字还没想好☜6 小时前
React 实现暗黑模式切换:localStorage 持久化、SSR 首屏闪烁与跟随系统主题
前端·javascript·react.js·ecmascript·react·next.js
console.log('npc')7 小时前
Git 冲突与 AI 协助指南
前端·人工智能·git·大模型
爱学堂IT分享8 小时前
Cesium可视化系统实战课程-Cesium教程学习
前端
糖墨夕9 小时前
理解大语言模型:Agent 的“大脑”
前端·agent
Rain的Java大神之路9 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
cpolar技术支持9 小时前
浏览器也能跑本地 AI:用 Transformers.js + WebGPU 做一个最小推理 Demo,cpolar 给同事远程体验
前端·ai·cpolar·webgpu·transformers.js
计算机魔术师11 小时前
OpenAI 发布 GPT-6 Astra:多项基准刷新纪录, cybersecurity 能力达 Critical 阈值
前端
xy345311 小时前
Axure9.0中继器遮罩实现方法
前端·ui·html·axure·原型·产品设计
风骏时光牛马11 小时前
智能任务自动化协同AI工作流
前端