這篇文章將為大家詳細(xì)講解有關(guān)css中keyframes有什么用,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、岳塘網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、岳塘網(wǎng)絡(luò)營銷、岳塘企業(yè)策劃、岳塘品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供岳塘建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.comcss keyframes是CSS3的一種規(guī)則,可以用來定義CSS動(dòng)畫的一個(gè)周期的行為,可以創(chuàng)建簡(jiǎn)單的動(dòng)畫;keyframe規(guī)則由關(guān)鍵字“@keyframe”組成,后面接著是給出動(dòng)畫名稱的標(biāo)識(shí)符。
CSS @keyframes是什么?有什么用?
@keyframes是CSS3的一種規(guī)則,可以用來定義CSS動(dòng)畫的一個(gè)周期的行為,可以創(chuàng)建簡(jiǎn)單的動(dòng)畫。
動(dòng)畫與轉(zhuǎn)換類似,因?yàn)樗鼈兌际请S時(shí)間改變CSS屬性的表示值。主要區(qū)別在于,當(dāng)屬性值更改時(shí)(例如,當(dāng)懸停時(shí)屬性值發(fā)生改變時(shí)),轉(zhuǎn)換會(huì)隱式的觸發(fā),但在應(yīng)用動(dòng)畫屬性時(shí)會(huì)顯式執(zhí)行動(dòng)畫。因此,動(dòng)畫需要顯示動(dòng)畫屬性的顯式值。這些值是在@keyframes規(guī)則中指定的動(dòng)畫關(guān)鍵幀定義的。因此,@keyframes規(guī)則里是由一組封裝的CSS樣式規(guī)則組成的,這些規(guī)則描述了屬性值如何隨時(shí)間變化。
然后,使用不同的CSS animation(動(dòng)畫)屬性,可以控制動(dòng)畫的許多不同方面,包括動(dòng)畫迭代的次數(shù),是否在開始和結(jié)束值之間交替,以及動(dòng)畫是否應(yīng)該運(yùn)行或暫停。動(dòng)畫也可以延遲其開始時(shí)間。
@keyframe規(guī)則由關(guān)鍵字“@keyframe”組成,后面接著是給出動(dòng)畫名稱的標(biāo)識(shí)符(將使用animation-name引用),隨后是通過一組樣式規(guī)則(用大括號(hào)分隔)。然后,通過使用標(biāo)識(shí)符作為animation-name屬性的值,將動(dòng)畫應(yīng)用于元素。
css @keyframes的使用示例:
1、定義動(dòng)畫發(fā)生的空間
HTML代碼:
2、使用@keyframes規(guī)則創(chuàng)建簡(jiǎn)單動(dòng)畫
css代碼
body { background-color: #fff; color: #555; font-size: 1.1em; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; } .container { margin: 50px auto; min-width: 320px; max-width: 500px; } .element { margin: 0 auto; width: 100px; height: 100px; background-color: #0099cc; border-radius: 50%; position: relative; top: 0; -webkit-animation: bounce 2s infinite; animation: bounce 2s infinite; } @-webkit-keyframes bounce { from { top: 100px; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 25% { top: 50px; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 50% { top: 150px; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 75% { top: 75px; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } to { top: 100px; } } @keyframes bounce { from { top: 100px; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 25% { top: 50px; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 50% { top: 150px; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 75% { top: 75px; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } to { top: 100px; } }
3、運(yùn)行效果
在上面的示例中,為名為“bounce”的動(dòng)畫指定了五個(gè)關(guān)鍵幀。在第一和第二關(guān)鍵幀之間(即,在'0%'和'25%'之間),使用ease-out定時(shí)功能。在第二和第三關(guān)鍵幀之間(即,在'25%'和'50%'之間),使用ease-in定時(shí)功能,等等。效果將顯示為向上移動(dòng)50px的元素,在達(dá)到其高點(diǎn)時(shí)減慢,然后在它回落到150px時(shí)加速。動(dòng)畫的后半部分以類似的方式運(yùn)行,但僅將元素向上移動(dòng)25px。此動(dòng)畫產(chǎn)生一個(gè)彈跳效果,可用于模擬彈跳球動(dòng)畫。
說明:
@keyframes規(guī)則不級(jí)聯(lián) ; 因此,動(dòng)畫永遠(yuǎn)不會(huì)從多個(gè)@keyframes規(guī)則派生關(guān)鍵幀。
要確定關(guān)鍵幀集,選擇器中的所有值都需按時(shí)間遞增排序。如果存在任何重復(fù)項(xiàng)(例如,如果我們編寫了兩個(gè)'50%'關(guān)鍵幀規(guī)則和聲明塊),則@keyframes規(guī)則將指定最后一個(gè)關(guān)鍵幀用于提供該時(shí)間的關(guān)鍵幀信息。@keyframes如果多個(gè)關(guān)鍵幀指定相同的關(guān)鍵幀選擇器值,則規(guī)則中沒有級(jí)聯(lián)。
關(guān)于css中keyframes有什么用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。