您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“css3動畫屬性有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“css3動畫屬性有哪些”吧!
css3三大動畫屬性是:1、transition屬性,用于設(shè)置元素的過渡效果;2、transform屬性,用于向元素應(yīng)用2D或3D轉(zhuǎn)換(旋轉(zhuǎn)、縮放、移動或傾斜);3、animation屬性,需要和“@keyframes”一起使用來創(chuàng)建動畫。
本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。
css3動畫屬性分為:transform、transition、animation
a:transition-property:檢索或設(shè)置對象中的參與過渡的屬性 b.transition-duration:檢索或設(shè)置對象過渡的持續(xù)時間 c.transition-delay:檢索或設(shè)置對象延遲過渡的時間 d.transition-timing-function:檢索或設(shè)置對象中過渡的動畫類型 簡寫: transition: 屬性值1 屬性值2 屬性值3 屬性值4 屬性值1: 需要參與過渡屬性 all ( 能支持過渡屬性的都會過渡變換 默認(rèn)值) 屬性值2: 過渡的時間 s秒 ms 毫秒 屬性值3: 延遲的時間 s秒 ms 毫秒 屬性值4: 動畫的類型(勻速、勻加速、勻減速........)
例如:transition:3s 2s linear;
a.位移:transform:translate(參數(shù)1,參數(shù)2) 參數(shù)1:在X軸移動的距離 參數(shù)2:在Y軸移動的距離 ps:參數(shù)如果是正值的情況下:往右往下 負(fù)值:往左往上 單獨(dú)設(shè)置X/Y的位移: transform:translateX(參數(shù)); transform:translateY(參數(shù)); b.縮放:transform:scale(參數(shù)1,參數(shù)2); 參數(shù)1:X軸縮放的比例 參數(shù)2:Y軸縮放的比例 ps:參數(shù)小于1,縮小;參數(shù)大于1,放大。如果兩參數(shù)相同,寫一個就行 單獨(dú)設(shè)置X Y transform:scaleX(); transform:scaleY(); c.旋轉(zhuǎn):transform:rotate(); 默認(rèn)情況下圍繞中心點(diǎn)轉(zhuǎn)動,轉(zhuǎn)動的是度數(shù),deg! 單獨(dú)設(shè)置圍繞某個軸(X Y) transform:rotateX() transform:rotateY() d.傾斜:transform:skew(); 單獨(dú)設(shè)置圍繞某個軸(X Y) transform:skewX() transform:skewY() 補(bǔ)充:如果有兩個功能函數(shù):先寫位移 再寫旋轉(zhuǎn)。
單獨(dú)舉例旋轉(zhuǎn):
當(dāng)圍繞中心點(diǎn)時:
span{ display: block; width: 300px; height: 150px; background: purple; transform: rotate(30deg); }
當(dāng)圍繞X軸時:
span{ display: block; width: 300px; height: 150px; background: purple; transform: rotateX(30deg); }
可以看到,當(dāng)圍繞X軸旋轉(zhuǎn)時,盒子的上面往里,下面往外。
當(dāng)圍繞Y軸時:
span{ display: block; width: 300px; height: 150px; background: purple; transform: rotateY(30deg); }
可以看到,圖片的左側(cè)往外,右側(cè)往里。
形成3D空間:transform-style:preserve-3d
a.位移: transform:translate(x,y,z); translateX() translateY() translateZ(不能是百分比) b.旋轉(zhuǎn): transform:rotate(); rotateX() rotateY() rotateZ() //默認(rèn)情況效果類似 rotate3D(x,y,z,a) [ 0不旋轉(zhuǎn)。1旋轉(zhuǎn) ] - x:是一個0到1之間的數(shù)值,主要用來描述元素圍繞X軸旋轉(zhuǎn)的矢量值; - y:是一個0到1之間的數(shù)值,主要用來描述元素圍繞Y軸旋轉(zhuǎn)的矢量值; - z:是一個0到1之間的數(shù)值,主要用來描述元素圍繞Z軸旋轉(zhuǎn)的矢量值; - a:是一個角度值,主要用來指定元素在3D空間旋轉(zhuǎn)的角度,如果其值為正值,元素順時針旋轉(zhuǎn),反之元素逆時針旋轉(zhuǎn)。
制定關(guān)鍵幀: @keyframes 關(guān)鍵幀的名稱{ from{} to{} 或者 0%{ } 50%{ } 100%{ } } 調(diào)用關(guān)鍵幀 animation: 復(fù)合屬性 animation-name 關(guān)鍵幀的名稱 animation-duration 動畫的持續(xù)的時間 animation-timing-function 動畫運(yùn)用的類型(勻速linear、加速度、減速度、貝塞爾曲線 step-start //沒有動畫中間的過渡效果。每次直接跳到下一幀開始的地方) animation-delay 動畫的延遲 animation-iteration-count 動畫運(yùn)動的次數(shù)(默認(rèn)情況下運(yùn)動1次) infinite(無限循環(huán)) animation-direction 運(yùn)動的方向 屬性值: - reverse:反方向運(yùn)行 ( 讓關(guān)鍵幀從后往前執(zhí)行 ) - alternate:動畫先正常運(yùn)行再反方向運(yùn)行,并持續(xù)交替運(yùn)行 - alternate-reverse:動畫先反運(yùn)行再正方向運(yùn)行,并持續(xù)交替運(yùn)行 animation-play-state 屬性值: paused暫停 running運(yùn)動 常用的寫法: animation:關(guān)鍵幀的名稱 動畫運(yùn)動的時間 linear(勻速) 動畫延遲的時間
例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ margin:0; padding:0; } .box{ width:300px; height:300px; position:fixed; left:0;right:0; top:0;bottom:0; margin:auto; /* 3D的空間 */ transform-style: preserve-3d; /* 為了方便觀察讓3D舞臺轉(zhuǎn)動角度 */ transform:rotateX(20deg) rotateY(30deg); transition:2s; animation: hh 2s linear infinite; } .box p{ width:300px; height:300px; text-align: center; line-height:300px; font-size: 100px; font-weight:bolder; color:#fff; /* 讓6個面全部定位在父元素里面 */ position:absolute; left:0;top:0; /* 透明 */ opacity:1; border:2px solid #000; /* 使背面不可見! */ backface-visibility:hidden; } .con1{ /* 第一個面往前走 */ background:red; transform:translateZ(150px); } .con2{ /* 第二個面往后走 */ background:blue; transform:translateZ(-150px) rotateY(180deg); /*rotateY(180deg) 讓正面朝外*/ } .con3{ /* 先往上位移150px 再繞著X軸轉(zhuǎn)動90deg */ background:pink; transform:translateY(-150px) rotateX(90deg); } .con4{ /* 先往下位移150px,再繞著X軸轉(zhuǎn)動90deg */ background:green; transform:translateY(150px) rotateX(-90deg); } .con5{ /* 先往左位移150px , 再繞著Y軸轉(zhuǎn)動90deg */ background:rosybrown; transform:translateX(-150px) rotateY(-90deg); } .con6{ /* 先往右側(cè)位移150px,再繞著Y軸轉(zhuǎn)動90deg */ background:#000; transform:translateX(150px) rotateY(90deg); } @keyframes hh{ from{ transform:rotateX(-20deg) rotateY(0deg) ; } to{ transform:rotateX(340deg) rotateY(360deg) ; } } </style> </head> <body> <p class="box"> <p class="con1">1</p> <p class="con2">2</p> <p class="con3">3</p> <p class="con4">4</p> <p class="con5">5</p> <p class="con6">6</p> </p> </body> </html>
到此,相信大家對“css3動畫屬性有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。