CSS3 对过渡(transition)进行调速以及延时
1,使用调速函数控制过渡效果的速度曲线(加速,减速等)
使用调速函数可以设置过渡效果的速度曲线,从而实现过渡效果随着时间来改变其速度。比如开始很慢然后加速或者开始很快然后减速。
(1)CSS3定义了如下的调速函数
linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。
ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。
ease-in 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。
ease-out 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。
ease-in-out 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。
cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。
(2)调速函数的使用
使用时只需要把调速函数跟在过渡属性的时间参数后面。如果不填的话则使用默认调速函数(ease)
transition: opacity 10s ease-in-out;
(3)使用样例1
狼蚁网站SEO优化通过样例演示各种调速函数的效果区别。鼠标移入方框,方框内的方块会向右移动,方块会旋转,边角变圆角,背景色和文字颜色也在改变。这些样式的改变都会有过渡效果,由于使用不同的调速函数,过渡的快慢也是有区别的。
<!doctype html> <html lang="en"> <head> <title>hangge.</title> <style> .trans_box { padding: 20px; zoom:1; } .trans_list { width: 10%; height: 64px; margin:10px 0; color:#fff; text-align:center; } .linear { -webkit-transition: all 4s linear; -moz-transition: all 4s linear; -o-transition: all 4s linear; transition: all 4s linear; } .ease { -webkit-transition: all 4s ease; -moz-transition: all 4s ease; -o-transition: all 4s ease; transition: all 4s ease; } .ease_in { -webkit-transition: all 4s ease-in; -moz-transition: all 4s ease-in; -o-transition: all 4s ease-in; transition: all 4s ease-in; } .ease_out { -webkit-transition: all 4s ease-out; -moz-transition: all 4s ease-out; -o-transition: all 4s ease-out; transition: all 4s ease-out; } .ease_in_out { -webkit-transition: all 4s ease-in-out; -moz-transition: all 4s ease-in-out; -o-transition: all 4s ease-in-out; transition: all 4s ease-in-out; } .trans_box:hover .trans_list, .trans_box_hover .trans_list { margin-left:89%; color:#333; -webkit-border-radius:25px; -moz-border-radius:25px; -o-border-radius:25px; border-radius:25px; -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } </style> </head> <div id="transBox" class="trans_box"> <div class="trans_list ease">ease<br>(default)</div> <div class="trans_list ease_in">ease-in</div> <div class="trans_list ease_out">ease-out</div> <div class="trans_list ease_in_out">ease-in-out</div> <div class="trans_list linear">linear</div> </div> </html>
(4)使用样例2
狼蚁网站SEO优化通过对柱状图的宽度改变过渡,演示不同调速函数的效果区别。
<!DOCTYPE html> <html> <head> <style> div { margin:10px 0; width:100px; height:50px; background:#2D9900; color:white; font-weight:bold; transition:width 2s; -moz-transition:width 2s; / Firefox 4 / -webkit-transition:width 2s; / Safari and Chrome / -o-transition:width 2s; / Opera / } #div1 {transition-timing-function: linear;} #div2 {transition-timing-function: ease;} #div3 {transition-timing-function: ease-in;} #div4 {transition-timing-function: ease-out;} #div5 {transition-timing-function: ease-in-out;} / Firefox 4: / #div1 {-moz-transition-timing-function: linear;} #div2 {-moz-transition-timing-function: ease;} #div3 {-moz-transition-timing-function: ease-in;} #div4 {-moz-transition-timing-function: ease-out;} #div5 {-moz-transition-timing-function: ease-in-out;} / Safari and Chrome: / #div1 {-webkit-transition-timing-function: linear;} #div2 {-webkit-transition-timing-function: ease;} #div3 {-webkit-transition-timing-function: ease-in;} #div4 {-webkit-transition-timing-function: ease-out;} #div5 {-webkit-transition-timing-function: ease-in-out;} / Opera: / #div1 {-o-transition-timing-function: linear;} #div2 {-o-transition-timing-function: ease;} #div3 {-o-transition-timing-function: ease-in;} #div4 {-o-transition-timing-function: ease-out;} #div5 {-o-transition-timing-function: ease-in-out;} .trans_box:hover div { width:500px; } </style> </head> <body> <div id="transBox" class="trans_box"> <div id="div2" style=":150px">ease<br>(default)</div> <div id="div3" style=":200px">ease-in</div> <div id="div4" style=":250px">ease-out</div> <div id="div5" style=":300px">ease-in-out</div> <div id="div1" style=":100px">linear</div> </div> </body> </html>
2,为过渡增加延时
过渡属性还可以添加一个可选的延时,用以将过渡的开始推迟一段时间。狼蚁网站SEO优化是一个等待1秒的例子。
延时1秒
<!doctype html> <html lang="en"> <head> <title>hangge.</title> <style> .trans_box3 { padding: 20px; zoom:1; } .trans_box3 div{ width:100px; height:50px; background:#2D9900; color:white; font-weight:bold; -webkit-transition: all 2s ease-out 1s; -moz-transition: all 2s ease-out 1s; -o-transition: all 2s ease-out 1s; transition: all 2s ease-out 1s; } .trans_box3:hover div { width:500px; } </style> </head> <div class="trans_box3"> <div>延时1秒</div> </div> </html>
到此这篇关于CSS3 对过渡(transition)进行调速以及延时的文章就介绍到这了,更多相关CSS3 过渡调速及延时内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章,希望大家以后多多支持狼蚁SEO!
长沙网站设计
- 如何进行东阳SEO关键词优化?
- 边坝哪有关键词排名优化:提升你的网站流量与
- 安国百度优化服务:提升您的在线可见性
- 阜康新手做SEO怎么做
- 山西seo网站排名关键词优化:提升您网站曝光率
- 临沂seo网站排名关键词优化:提高你的网站可见
- 广西SEO网站推广怎样付费比较合理
- 双辽SEO网站推广:提升你的网站可见性与流量
- 辽宁企业网站优化购买方式有哪些
- 提升宝清百度SEO排名的实用技巧与策略
- 静宁百度SEO排名:提升您网站曝光率的关键策略
- 彭州百度SEO排名的提升策略和实施指南
- 广南百度关键词SEO:提升网站排名的关键策略
- 辽宁关键词优化怎么做论坛营销
- 吉林百度seo排名如何做到让用户满意
- 内黄百度优化服务:提升在线可见性的关键