CSS3中Transition動畫屬性用法詳解

W3C標(biāo)準(zhǔn)中對css3的transition這是樣描述的:“css的transition允許css的屬性值在一定的時間區(qū)間內(nèi)平滑地過渡。這種效果可以在鼠標(biāo)單擊、獲得焦點(diǎn)、被點(diǎn)擊或?qū)υ厝魏胃淖冎杏|發(fā),并圓滑地以動畫效果改變CSS的屬性值。”
transition屬性的值包括以下四個:
•transition-property: 指定對HTML元素的哪個css屬性進(jìn)行過渡漸變處理,這個屬性可以是color、width、height等各種標(biāo)準(zhǔn)的css屬性。
•transition-duration:指定屬性過渡的持續(xù)時間
•transition-timing-function:指定漸變的速度:
1、ease:(逐漸變慢)默認(rèn)值,ease函數(shù)等同于貝塞爾曲線(0.25, 0.1, 0.25, 1.0);
2、linear:(勻速),linear 函數(shù)等同于貝塞爾曲線(0.0, 0.0, 1.0, 1.0);
3、ease-in:(加速),ease-in 函數(shù)等同于貝塞爾曲線(0.42, 0, 1.0, 1.0);
4、ease-out:(減速),ease-out 函數(shù)等同于貝塞爾曲線(0, 0, 0.58, 1.0);
5、ease-in-out:(加速然后減速),ease-in-out 函數(shù)等同于貝塞爾曲線(0.42, 0, 0.58, 1.0);
6、cubic-bezier:(該值允許你去自定義一個時間曲線), 特定的cubic-bezier曲線。 (x1, y1, x2, y2)四個值特定于曲線上點(diǎn)P1和點(diǎn)P2。所有值需在[0, 1]區(qū)域內(nèi),否則無效。
•transition-delay:指定延遲時間,也就是經(jīng)過多長時間才開始執(zhí)行過渡過程。
瀏覽器兼容性
Internet Explorer 9 以及更早的版本,不支持 transition 屬性。
Internet Explorer 10, Firefox, Opera 和 Chrome支持transition 屬性。Chrome 25 以及更早的版本以及Safari 需要前綴 -webkit-。
下面還是以實(shí)例來說明transition的用法
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>transition演示1</title>
- <style type="text/css">
- .animated_div {
- margin: 100px auto;
- width:100px;
- height:60px;
- background:#92B901;
- /*簡寫屬性*/
- -webkit-transition:-webkit-transform 1s,opacity 1s,background 1s,width 1s,height 1s,font-size 1s; /* Safari */
- /*每個屬性分開寫*/
- transition-property:width,height,transform,background,opacity;
- transition-duration:1s,1s,1s,1s,1s,1s;
- -webkit-border-radius:5px;
- border-radius:5px;
- opacity:0.4;
- }
- .animated_div:hover {
- -moz-transform: rotate(360deg);
- -webkit-transform: rotate(360deg);
- -o-transform: rotate(360deg);
- transform: rotate(360deg);
- opacity:1;
- background:#1ec7e6;
- width:200px;
- height:120px;
- }
- </style>
- </head>
- <body>
- <div class="animated_div"></div>
- </body>
- </html>
上述代碼當(dāng)鼠標(biāo)移到div上時,CSS屬性:width,height,transform,background,opacity都發(fā)生漸變過渡效果。最終css樣式變成.animated_div里定義的樣式,過渡過程大致如下:
再給一個網(wǎng)上的嫦娥奔月的示例,要求:當(dāng)鼠標(biāo)移到圖片上時,嫦娥出現(xiàn),移開時嫦娥消失
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>transition演示2</title>
- <style type="text/css">
- body{
- color: #fff;
- background:#000;
- }
- .change{
- display:block;
- width:400px;
- height:400px;
- background:url(http://p3.qhimg.com/t0134c65e59012a1257.png) no-repeat center;
- background-size:cover;
- border:1em solid rgba(255,255,255,.8);
- margin:50px auto;
- }
- .change img{
- display:block;
- width:300px;
- height:284px;
- opacity:0;
- -webkit-transform:translate(-100px,-100px);
- transform:translate(-100px,-100px);
- -webkit-transition:opacity 1s ease-in-out 0.5s,-webkit-transform 1s ease-in-out;
- transition: opacity 1s ease-in-out 0.5s,transform 1s ease-in-out;
- }
- .change:hover img{
- -webkit-transform:translate(0px,0px);
- transform:translate(0px,0px);
- opacity:1;
- }
- </style>
- </head>
- <body>
- <a href="http://image.haosou.com/i?q=%E5%AB%A6%E5%A8%A5png&src=tab_www" class="change " target="_blank">
- <img src="http://p4.qhimg.com/t0160e6a92121691e22.png" alt="" />
- </a>
- </body>
- </html>
為了使嫦娥有飄入飄出的效果,設(shè)置了transform屬性,配合opacity屬性,加入過渡效果就能達(dá)到效果:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
- 這篇文章主要為大家詳細(xì)介紹了CSS3中Transform動畫屬性用法,教大家如何實(shí)現(xiàn)2D transform變換、3D transform變換,感興趣的小伙伴們可以參考一下2016-07-04
- 這篇文章主要為大家詳細(xì)介紹了CSS3中Animation動畫屬性用法,教大家如何使用animation動畫,感興趣的小伙伴們可以參考一下2016-07-04
CSS3中的Transition過度與Animation動畫屬性使用要點(diǎn)
這篇文章主要介紹了CSS3中的Transition過度與Animation動畫屬性使用要點(diǎn)Transition和Animation能被用來制作基本的頁面圖片動態(tài)效果,當(dāng)然進(jìn)一步的控制還是需要JavaScript的2016-05-20- 下面小編就為大家?guī)硪黄钊肜斫鈉ss屬性的選擇對動畫性能的影響。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考2016-04-20
jQuery利用CSS3的keyframes屬性實(shí)現(xiàn)飛翔的小鳥動畫特效
jQuery利用CSS3的keyframes屬性實(shí)現(xiàn)飛翔的小鳥動畫特效是一款利用css3的keyframes屬性制作的飛翔的小鳥動畫特效。小鳥飛翔速度有快有慢,效果非常逼真,對本段代碼感興趣的2016-02-14- CSS3實(shí)現(xiàn)僵尸行Sprite動畫特效源碼是一款使用animation動畫的steps屬性制作的僵尸行走CSS3 Sprite動畫特效的代碼,形成僵尸走路的動畫效果2015-12-10
css動畫屬性使用及實(shí)例代碼(transition/transform/animation)
這篇文章主要介紹了css動畫屬性使用及實(shí)例代碼(transition/transform/animation) ,需要的朋友可以參考下2019-05-09