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>

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

相关推荐
大怪v8 分钟前
前端:人工智能?我也会啊!来个花活,😎😎😎“自动驾驶”整起!
前端·javascript·算法
我是天龙_绍10 分钟前
vue3 props 如何写ts,进行类型标注
前端
叫我詹躲躲21 分钟前
n8n 自动化工作流平台完整部署
前端·langchain·领域驱动设计
遂心_2 小时前
为什么 '1'.toString() 可以调用?深入理解 JavaScript 包装对象机制
前端·javascript
IT_陈寒2 小时前
JavaScript 性能优化:5 个被低估的 V8 引擎技巧让你的代码快 200%
前端·人工智能·后端
岛风风2 小时前
关于手机的设备信息
前端
ReturnTrue8683 小时前
nginx性能优化之Gzip
前端
葡萄城技术团队3 小时前
所有网站通用:6 行 HTML 代码搞定页面加载提速
html
w_y_fan3 小时前
Flutter 滚动组件总结
前端·flutter
wuli金居哇3 小时前
我用 Turborepo 搭了个 Monorepo 脚手架,开发体验直接起飞!
前端