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>

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

相关推荐
云水一下7 分钟前
Vue.js从零到精通系列(三):组件化基础——Props、Emits、插槽与生命周期
前端·javascript·vue.js
SEO_juper34 分钟前
新独立站冷启动收录全攻略:配置、推送、抓取配额优化完整手册
前端·谷歌·seo·跨境电商·外贸·geo·独立站
TinssonTai38 分钟前
这个 VS Code 插件让我的 AI Coding 又快又稳 - 旧瓶装新酒
前端·人工智能·程序员
体验家39 分钟前
体验家 XMPlus 网页端问卷 SDK 技术解析:用几行 JavaScript 实现精准场景触发与防打扰机制
开发语言·前端·javascript
Maimai108081 小时前
Web3 前端交易系统如何落地:从下单 UI 到 Operation 编码、签名与实时状态更新
前端·react.js·ui·架构·前端框架·web3
kidding7231 小时前
高效备忘清单工具类小程序
前端·计算机网络·微信小程序·小程序
IMPYLH1 小时前
HTML 的 <abbr> 元素
前端·算法·html
李白的天不白2 小时前
Tree-Shaking
前端
Csvn2 小时前
TypeScript:你以为安全的 `JSON.parse` 其实是颗雷 — 运行时类型安全实战
前端·javascript
橘子星2 小时前
深入理解线性数据结构:栈、队列与链表
前端·javascript