亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 網頁設計 > 正文

講解CSS3中常用的Animation動畫的定義和語法調用

2024-08-30 08:33:06
字體:
來源:轉載
供稿:網友
現在經常會看到一些門戶網站的專題使用到CSS3的動畫,咋也不能落伍,在此這梳理下動畫知識吧,便于后面用到。接下來介紹下Animation動畫的定義和調用,在介紹Animation之前需要了解下Keyframes,英文意思就是關鍵幀,它相當于我們flash里面的幀。
本站收錄這篇文章講解CSS3中常用的Animation動畫的定義和語法調用,詳細解說文章中相關CSS3 Animation 動畫 語法 技術與知識,歡迎能給大家一些在這方面的支持和幫助!下面是詳細內容:

現在經常會看到一些門戶網站的專題使用到CSS3的動畫,咋也不能落伍,在此這梳理下動畫知識吧,便于后面用到。接下來介紹下Animation動畫的定義和調用,在介紹Animation之前需要了解下Keyframes,英文意思就是關鍵幀,它相當于我們flash里面的幀。

Keyframes具有其自己的語法規則,他的命名是由"@keyframes"開頭,后面緊接著是這個“動畫的名稱”加上一對花括號“{}”,括號中就是一些不同時間段樣式 規則,有點像我們css的樣式寫法一樣。對于一個"@keyframes"中的樣式規則是由多個百分比構成的,如“0%”到"100%"之間,我們可以在 這個規則中創建多個百分比,我們分別給每一個百分比中給需要有動畫效果的元素加上不同的屬性,從而讓元素達到一種在不斷變化的效果,比如說移動,改變元素 顏色,位置,大小,形狀等,不過有一點需要注意的是,我們可以使用“fromt”“to”來代表一個動畫是從哪開始,到哪結束,也就是說這個 "from"就相當于"0%"而"to"相當于"100%",值得一說的是,其中"0%"不能像別的屬性取值一樣把百分比符號省略,我們在這里必須加上百 分符號(“%”)如果沒有加上的話,我們這個keyframes是無效的,不起任何作用。因為keyframes的單位只接受百分比值。

Keyframes可以指定任何順序排列來決定Animation動畫變化的關鍵位置。其具體語法規則如下:

 keyframes-rule: '@keyframes' IDENT '{' keyframes-blocks '}'; keyframes-blocks: [ keyframe-selectors block ]* ; keyframe-selectors: [ 'from'  'to'  PERCENTAGE ] [ ',' [ 'from'  'to'  PERCENTAGE ] ]*;

none:表示不進么變換;<transform-function>表示一個或多個變換函數,以空格分開;換句話說就是我們同時對一 個元素進行transform的多種屬性操作,例如rotate、scale、translate三種,但這里需要提醒大家的,以往我們疊加效果都是用逗 號(“,”)隔開,但transform中使用多個屬性時卻需要有空格隔開。大家記住了是空格隔開。

取值:

transform屬性實現了一些可用SVG實現的同樣的功能。它可用于內聯(inline)元素和塊級(block)元素。它允許我們旋轉、縮放 和移動元素 ,他有幾個屬性值參數:rotate;translate;scale;skew;matrix。下面我們分別來介紹這幾個屬性值參數的具體使用方法:

我把上面的語法綜合起來

  @keyframes IDENT {     from {              Properties:Properties value;     }     Percentage {            Properties:Properties value;     }     to {            Properties:Properties value;     }   }

其中IDENT是一個動畫名稱,你可以隨便取,當然語義化一點更好,Percentage是百分比值,我們可以添加許多個這樣的百 分比,Properties為css的屬性名,比如說left,background等,value就是相對應的屬性的屬性值。值得一提的是,我們 from和to 分別對應的是0%和100%。這個我們在前面也提到過了。到目前為止支技animation動畫的只有webkit內核的瀏覽器,所以我需要在上面的基礎 上加上-webkit前綴,據說Firefox5可以支持css3的 animation動畫屬性。

舉個官方實例來,大伙就可以看得很清楚了,如下:

@-webkit-keyframes 'wobble' {     0% {        margin-left: 100px;        background: green;     }     40% {        margin-left: 150px;        background: orange;     }     60% {        margin-left: 75px;        background: blue;     }     100% {        margin-left: 100px;        background: red;     }  }

這里我們定義了一個叫“wobble”的動畫,他的動畫是從0%開始到100%時結束,從中還經歷了一個40%和60%兩個過程,上面代碼具體意思 是:wobble動畫在0%時元素定位到left為100px的位置背景色為green,然后40%時元素過渡到left為150px的位置并且背景色為 orange,60%時元素過渡到left為75px的位置,背景色為blue,最后100%結束動畫的位置元素又回到起點left為100px處,背景 色變成red。

定義好動畫,如何調用呢,如下:

.box {     width: 50px;     height: 50px;     margin-left: 100px;     background: blue;     -webkit-animation-name:'wobble';/*動畫屬性名,也就是我們前面keyframes定義的動畫名*/     -webkit-animation-duration: 10s;/*動畫持續時間*/     -webkit-animation-timing-function: ease-in-out; /*動畫頻率,和transition-timing-function是一樣的*/     -webkit-animation-delay: 2s;/*動畫延遲時間*/     -webkit-animation-iteration-count: 10;/*定義循環資料,infinite為無限次*/     -webkit-animation-direction: alternate;/*定義動畫方式*/  }

可能大伙看到上面不是很了解,我們看下其屬性的語法,再回來看這個例子就很清楚了

一、animation-name:

語法:

  animation-name: none  IDENT[,none  IDENT]*;

取值說明:

animation-name:是用來定義一個動畫的名稱,其主要有 兩個值:IDENT是由Keyframes創建的動畫名,換句話說此處的IDENT要和Keyframes中的IDENT一致,如果不一致,將不能實現任 何動畫效果;none為默認值,當值為none時,將沒有任何動畫效果。另外我們這個屬性跟前面所講的transition一樣,我們可以同時附幾個 animation給一個元素,我們只需要用逗號“,”隔開。

二、animation-duration:

語法:

  animation-duration: <time>[,<time>]*

取值說明:

animation-duration是用來指定元素播放動畫所持續的時間長,取值:<time>為數值,單位為s (秒.)其默認值為“0”。這個屬性跟transition中的transition-duration使用方法是一樣的。

三、animation-timing-function:

語法:

   animation-timing-function:ease  linear  ease-in  ease-out  ease-in-out  cubic-bezier(<number>, <number>, <number>, <number>) [, ease  linear  ease-in  ease-out  ease-in-out  cubic-bezier(<number>, <number>, <number>, <number>)]*

 取值說明:

animation-timing-function:是指元素根據時間的推進來改變屬性值的變換速率,說得簡單點就是動畫的播放方式。他和transition中的transition-timing-function一樣,具有以下六種變換方式:ease;ease-in;ease-in-out;linear;cubic-bezier。具體的使用方法如下:

transition-timing-function的值允許你根據時間的推進去改變屬性值的變換速率,transition-timing-function有6個可能值:

1、ease:(逐漸變慢)默認值,ease函數等同于貝塞爾曲線(0.25, 0.1, 0.25, 1.0).

2、linear:(勻速),linear 函數等同于貝塞爾曲線(0.0, 0.0, 1.0, 1.0).

3、ease-in:(加速),ease-in 函數等同于貝塞爾曲線(0.42, 0, 1.0, 1.0).

4、ease-out:(減速),ease-out 函數等同于貝塞爾曲線(0, 0, 0.58, 1.0).

5、ease-in-out:(加速然后減速),ease-in-out 函數等同于貝塞爾曲線(0.42, 0, 0.58, 1.0)

6、cubic-bezier:(該值允許你去自定義一個時間曲線), 特定的cubic-bezier曲線。 (x1, y1, x2, y2)四個值特定于曲線上點P1和點P2。所有值需在[0, 1]區域內,否則無效。

其是cubic-bezier為通過貝賽爾曲線來計算“轉換”過程中的屬性值,如下曲線所示,通過改變P1(x1, y1)和P2(x2, y2)的坐標可以改變整個過程的Output Percentage。初始默認值為default.

四、animation-delay:

語法:

  animation-delay: <time>[,<time>]*

 取值說明:

animation-delay:是用來指定元素動畫開始時間。取值為<time>為數值,單位為s(秒),其默認值也是0。這個屬性和transition-delayy使用方法是一樣的。

五、animation-iteration-count

語法:

  animation-iteration-count:infinite  <number> [, infinite  <number>]*

 取值說明:

animation-iteration-count是用來指定元素播放動畫的循環次數,其可以取值<number>為數字,其默認值為“1”;infinite為無限次數循環。

六、animation-direction

語法:

  animation-direction: normal  alternate [, normal  alternate]*

取值說明:

animation-direction是用來指定元素動畫播放的方向,其只有兩個值,默認值為normal,如果設置為normal時,動畫的每次循環都是向前播放;另一個值是alternate,他的作用是,動畫播放在第偶數次向前播放,第奇數次向反方向播放。

七、animation-play-state

語法:

   animation-play-state:running  paused [, running  paused]*

 取值說明:

animation-play-state主要是用來控制元素動畫的 播放狀態。其主要有兩個值,running和paused其中running為默認值。他們的作用就類似于我們的音樂播放器一樣,可以通過paused將 正在播放的動畫停下了,也可以通過running將暫停的動畫重新播放,我們這里的重新播放不一定是從元素動畫的開始播放,而是從你暫停的那個位置開始播 放。另外如果暫時了動畫的播放,元素的樣式將回到最原始設置狀態。這個屬性目前很少內核支持,所以只是稍微提一下。

上面我們分別介紹了animation中的各個屬性的語法和取值,那么我們綜合上面的內容可以給animation屬性一個速記法:

  animation:[<animation-name>  <animation-duration>  <animation-timing-function>  <animation-delay>  <animation-iteration-count>  <animation-direction>] [, [<animation-name>  <animation-duration>  <animation-timing-function>  <animation-delay>  <animation-iteration-count>  <animation-direction>] ]*

 如下圖所示

/

相信大家看完語法后,應該對于上面的例子很清楚了吧。不過話說回來動畫是可以做了,但兼容它的瀏覽器不多啊,目前只有蘋果,谷歌,火狐支持。

講解CSS3中常用的Animation動畫的定義和語法調用文章就講到這里,歡迎瀏覽本站的其它內容,點擊這里返回首頁

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91免费欧美精品| 国产成人精品电影久久久| 伦伦影院午夜日韩欧美限制| 久久综合色88| 亚洲free性xxxx护士hd| 色哟哟亚洲精品一区二区| 亚洲精品视频免费在线观看| 韩国三级日本三级少妇99| 久久伊人91精品综合网站| 国产精品精品国产| 91国产美女在线观看| 日韩av理论片| 这里只有精品视频在线| 国产精品mp4| 国产99视频精品免视看7| 国产精品激情自拍| 亚洲毛片在线看| 热re99久久精品国产66热| 国产第一区电影| 亚洲第一精品夜夜躁人人爽| 91精品视频大全| 久久九九全国免费精品观看| 国产精品成人久久久久| 欧美小视频在线| 久久久免费在线观看| 亚洲男人第一网站| 国产成人激情小视频| 国产精品第七影院| 亚洲国产毛片完整版| 精品国偷自产在线视频| 欧美精品福利在线| 欧美日韩免费在线观看| 美女精品久久久| 中文字幕在线观看日韩| 亚洲国产古装精品网站| 亚洲aⅴ男人的天堂在线观看| 亚洲免费伊人电影在线观看av| 欧美国产精品人人做人人爱| 色综合天天狠天天透天天伊人| 亚洲人免费视频| 精品久久久国产精品999| 欧美日韩国产综合视频在线观看中文| 成人免费高清完整版在线观看| 国产精品美腿一区在线看| 亚洲第一网站男人都懂| 亚洲欧美激情精品一区二区| 日本道色综合久久影院| 亚洲大胆人体视频| 亚洲人成在线免费观看| 亚洲视频在线观看网站| 欧美激情videos| 欧美性精品220| 午夜精品福利视频| 亚洲成人激情在线观看| 日韩毛片在线看| 国产精品高潮呻吟久久av黑人| 日本一欧美一欧美一亚洲视频| 欧美日本黄视频| 日韩精品在线看| 精品久久久香蕉免费精品视频| 爽爽爽爽爽爽爽成人免费观看| 亚洲国产精彩中文乱码av在线播放| 久久躁狠狠躁夜夜爽| 大伊人狠狠躁夜夜躁av一区| 国产精品男人爽免费视频1| 久国内精品在线| 这里只有精品在线观看| 国产一区二区三区高清在线观看| 免费97视频在线精品国自产拍| 亚洲品质视频自拍网| 国产suv精品一区二区三区88区| 97国产精品人人爽人人做| 国产精品电影在线观看| 国产欧美一区二区白浆黑人| 日本久久中文字幕| 中文字幕精品—区二区| 黑人巨大精品欧美一区二区一视频| 精品国产一区二区三区久久久| 国产午夜精品全部视频播放| 成人国产亚洲精品a区天堂华泰| 精品福利视频导航| 国产亚洲免费的视频看| 在线视频中文亚洲| 亚洲加勒比久久88色综合| 欧美伦理91i| 日韩电影中文字幕在线观看| 亚洲www视频| 国产欧美日韩中文| 久久天天躁狠狠躁夜夜躁| 免费91麻豆精品国产自产在线观看| 岛国av一区二区三区| 成人网在线观看| 亚洲free嫩bbb| 欧美日韩成人免费| 中文字幕欧美日韩| 久久久久久久av| 成人免费高清完整版在线观看| 中文字幕亚洲一区在线观看| 国产成人啪精品视频免费网| 国模精品系列视频| 亚洲精品福利视频| 97香蕉久久超级碰碰高清版| 91精品免费久久久久久久久| 日韩精品有码在线观看| 亚洲欧美日韩国产中文专区| 欧美俄罗斯乱妇| 色综合伊人色综合网站| 亚洲人成电影在线| 97色在线视频观看| 精品视频www| 欧美日韩日本国产| 日韩在线视频二区| 欧美成人精品h版在线观看| 最近2019中文字幕mv免费看| 久久成人免费视频| 国产精品视频专区| 欧美一级淫片aaaaaaa视频| 久久精品国产亚洲精品| 97国产精品人人爽人人做| 国产精品高清在线| 亚洲第一中文字幕在线观看| 欧美日韩免费一区| 亚洲精品国产福利| 日韩在线观看精品| 激情av一区二区| 日韩美女写真福利在线观看| 国产精品揄拍一区二区| 欧美最近摘花xxxx摘花| 欧美色图在线视频| 欧美在线观看一区二区三区| 国产精品一区二区三区在线播放| 久久6免费高清热精品| 欧美影院在线播放| 91在线观看免费观看| 北条麻妃一区二区在线观看| 一区二区福利视频| 欧美一级片免费在线| 日韩av最新在线观看| 亚洲视频在线看| 日本91av在线播放| 亚洲18私人小影院| 欧美日韩一区二区在线| 亚洲综合在线小说| 日韩国产一区三区| 国产91色在线免费| 韩剧1988免费观看全集| 亚洲国产精品999| 动漫精品一区二区| 欧美电影在线观看网站| 亚洲高清免费观看高清完整版| 668精品在线视频| 国产欧美日韩中文字幕| 国产网站欧美日韩免费精品在线观看| 久久男人资源视频| 亚洲欧美中文字幕在线一区| 人人爽久久涩噜噜噜网站| 精品久久久久久国产| 成人伊人精品色xxxx视频| 国内精品模特av私拍在线观看| 欧美疯狂xxxx大交乱88av| 国产成人在线视频| 亚洲国产福利在线| 亚洲天堂av高清| 国产精品美女午夜av|