小編給大家分享一下css動(dòng)畫是如何組成的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在五通橋等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都營(yíng)銷網(wǎng)站建設(shè),外貿(mào)營(yíng)銷網(wǎng)站建設(shè),五通橋網(wǎng)站建設(shè)費(fèi)用合理。
css動(dòng)畫是由關(guān)鍵幀、動(dòng)畫屬性和css屬性三部分組成的。關(guān)鍵幀用于定義動(dòng)畫在不同階段的狀態(tài);動(dòng)畫屬性用于決定動(dòng)畫的播放時(shí)長(zhǎng),播放次數(shù),以及用何種函數(shù)式去播放動(dòng)畫等;css屬性用于指定css元素在不同關(guān)鍵幀下的狀態(tài)。
本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。
css動(dòng)畫是由三部分組成,分別為關(guān)鍵幀(keyframes)、動(dòng)畫屬性(properties)、css屬性。
關(guān)鍵幀(keyframes) - 定義動(dòng)畫在不同階段的狀態(tài)。
動(dòng)畫屬性(properties) - 決定動(dòng)畫的播放時(shí)長(zhǎng),播放次數(shù),以及用何種函數(shù)式去播放動(dòng)畫等。(可以類比音視頻播放器)
css屬性 - 指定css元素不同關(guān)鍵幀下的狀態(tài)。
1、關(guān)鍵幀
使用@keyframes規(guī)則指定,可以用來(lái)定義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í)間變化。
2、動(dòng)畫屬性
通過(guò)@keyframes創(chuàng)建了動(dòng)畫,就需要animation(動(dòng)畫)屬性將動(dòng)畫應(yīng)用于元素,并設(shè)置動(dòng)畫迭代的次數(shù),是否在開(kāi)始和結(jié)束值之間交替,以及動(dòng)畫是否應(yīng)該運(yùn)行或暫停。
動(dòng)畫屬性可以理解為播放器的相關(guān)功能,一個(gè)最基本的播放器應(yīng)該具有:播放/暫停、播放時(shí)長(zhǎng)、播放順序(逆序/正序/交替播放)、循環(huán)次數(shù)等。
animation:
[animation-name] [animation-duration] // 動(dòng)畫的名稱、持續(xù)時(shí)間
[animation-timing-function][animation-delay] // 關(guān)于時(shí)間的函數(shù)(properties/t)、延遲時(shí)間
[animation-iteration-count] [animation-direction] // 播放次數(shù)、播放順序
[animation-fill-mode] [animation-play-state]; // 播放前或停止后設(shè)置相應(yīng)樣式、控制動(dòng)畫運(yùn)行或暫停
關(guān)鍵幀+動(dòng)畫屬性的語(yǔ)法:
/* 定義動(dòng)畫*/ @keyframes 動(dòng)畫名稱{ /* 樣式規(guī)則*/ } /* 將它應(yīng)用于元素 */ .element { animation-name: 動(dòng)畫名稱(在@keyframes中已經(jīng)聲明好的); /* 或使用動(dòng)畫簡(jiǎn)寫屬性*/ animation: 動(dòng)畫名稱 1s ... }
在@keyframes規(guī)則的大括號(hào)里有什么?
在大括號(hào)中,我們需要定義關(guān)鍵幀或航點(diǎn),這些關(guān)鍵幀或航點(diǎn)指定在動(dòng)畫期間的特定點(diǎn)處正在動(dòng)畫化的屬性的值。這允許我們控制動(dòng)畫序列中的中間步驟。例如,一個(gè)簡(jiǎn)單動(dòng)畫的@keyframe可以是這樣:
@keyframes change-bg-color { 0% { background-color: red; } 50% { background-color: blue; } 100%{ background-color: red; } } .demo{ -webkit-animation:change-bg-color 5s infinite; animation: change-bg-color 5s infinite; }
運(yùn)行效果:
'0%'、‘50%’、'100%'都是關(guān)鍵幀選擇器,每個(gè)選擇器定義一個(gè)關(guān)鍵幀規(guī)則。關(guān)鍵幀規(guī)則的關(guān)鍵幀聲明塊由屬性和值組成。
上述動(dòng)畫類似于簡(jiǎn)單的過(guò)渡效果:背景顏色從動(dòng)畫開(kāi)頭的一個(gè)值(0%)開(kāi)始變化,在中間達(dá)到一個(gè)值(50%),在動(dòng)畫結(jié)束時(shí)達(dá)到另一個(gè)值(100%)。“0%”、”50%”和“100%”關(guān)鍵幀選擇器定義了希望動(dòng)畫屬性更改值的航點(diǎn)或百分點(diǎn)。我們也可以使用選擇器關(guān)鍵字 from,to而不是分別使用0%和100%,它們是等效的。
@keyframes change-bg-color { from{ background-color: red; } 50% { background-color: blue; } to{ background-color: red; } }
關(guān)鍵幀選擇器由一個(gè)或多個(gè)以逗號(hào)分隔的百分比值或from和to關(guān)鍵字組成。請(qǐng)注意,百分比單位說(shuō)明符必須用于百分比值。因此,'0'是無(wú)效的關(guān)鍵幀選擇器。
以下是具有關(guān)鍵幀選擇器的動(dòng)畫示例,其中包括多個(gè)以逗號(hào)分隔的百分比值和/或關(guān)鍵字關(guān)鍵幀選擇器from和to。
@keyframes bouncing { 0%, 50%, 100% { /* 或者 from, 50%, to */ top: 0; } 25%, 75% { top: 100px; } }
上面的@keyframes規(guī)則定義:元素的頂部偏移量在開(kāi)始時(shí),中途和動(dòng)畫結(jié)束時(shí)將等于零,并且它將四分之一和四分之三路徑時(shí)等于100px; 這意味著元素在動(dòng)畫循環(huán)中上下移動(dòng)了好幾次。
以上是“css動(dòng)畫是如何組成的”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!