中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

關(guān)注公眾號(hào)功能開(kāi)發(fā)seo優(yōu)化基礎(chǔ)教程pdf

關(guān)注公眾號(hào)功能開(kāi)發(fā),seo優(yōu)化基礎(chǔ)教程pdf,免費(fèi)自助建站系統(tǒng)下載,南寧一站網(wǎng) 給網(wǎng)站做營(yíng)銷(xiāo)CSS3動(dòng)畫(huà)包括過(guò)渡動(dòng)畫(huà)和關(guān)鍵幀動(dòng)畫(huà),它們主要通過(guò)改變CSS屬性值來(lái)模擬實(shí)現(xiàn)。我將詳細(xì)介紹Transform、Transitions和Animations 3大功能模塊,其中Transform實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)對(duì)象的變形操作,Transitions實(shí)現(xiàn)CSS屬性過(guò)渡變化,Animations實(shí)現(xiàn)…

CSS3動(dòng)畫(huà)包括過(guò)渡動(dòng)畫(huà)和關(guān)鍵幀動(dòng)畫(huà),它們主要通過(guò)改變CSS屬性值來(lái)模擬實(shí)現(xiàn)。我將詳細(xì)介紹Transform、Transitions和Animations 3大功能模塊,其中Transform實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)對(duì)象的變形操作,Transitions實(shí)現(xiàn)CSS屬性過(guò)渡變化,Animations實(shí)現(xiàn)CSS樣式分步式演示效果。

1、CSS3變形

2012年9月,W3C發(fā)布CSS3變形工作草案。這個(gè)草案包括CSS3 2D變形和CSS3 3D變形。CSS 2D Transform獲得各主流瀏覽器的支持,CSS 3D Transform支持程度不是很完善。本節(jié)重點(diǎn)講解2D變形,有關(guān)3D變形可以參考我的其它帖子。

1.1、設(shè)置原點(diǎn)

CSS變形的原點(diǎn)默認(rèn)為對(duì)象的中心點(diǎn)(50% 50%),使用transform-origin屬性可以重新設(shè)置新的變形原點(diǎn)。語(yǔ)法格式如下所示:

    transform-origin:[ <percentage> | <length> | left | center① | right ] [ <percentage> | <length> | top | center② | bottom ]?

取值簡(jiǎn)單說(shuō)明如下:

  • <percentage>:用百分比指定坐標(biāo)值,可以為負(fù)值。
  • <length>:用長(zhǎng)度值指定坐標(biāo)值,可以為負(fù)值。
  • left:指定原點(diǎn)的橫坐標(biāo)為left。
  • center①:指定原點(diǎn)的橫坐標(biāo)為center。
  • right:指定原點(diǎn)的橫坐標(biāo)為right。
  • top:指定原點(diǎn)的縱坐標(biāo)為top。
  • center②:指定原點(diǎn)的縱坐標(biāo)為center。
  • bottom:指定原點(diǎn)的縱坐標(biāo)為bottom。

【示例】通過(guò)重置變形原點(diǎn),可以設(shè)計(jì)不同的變形效果。以圖像的右上角為原點(diǎn)逆時(shí)針旋轉(zhuǎn)圖像45度:

    <style type="text/css">img {                                    /* 固定兩幅圖像相同大小和相同顯示位置 */position: absolute;left: 20px;top: 10px;width: 170px;width: 250px;}img.bg {                                 /* 設(shè)置第1幅圖像作為參考 */opacity: 0.3;border: dashed 1px red;}img.change {                             /* 變形第2幅圖像 */border: solid 1px red;transform-origin: top right;         /* 以右上角為原點(diǎn)進(jìn)行變形*/transform: rotate(-45deg);           /* 逆時(shí)針旋轉(zhuǎn)45度*/}</style><img class="bg" src="images/1.jpg"><img class="change" src="images/1.jpg">

比較效果如下圖所示:
在這里插入圖片描述

1.2、2D旋轉(zhuǎn)

rotate()函數(shù)能夠在2D空間內(nèi)旋轉(zhuǎn)對(duì)象,語(yǔ)法格式如下:

    rotate(<angle>)

其中,參數(shù)angle表示角度值,取值單位可以是:度,如90deg(90度,一圈360度);梯度,如100 grad(相當(dāng)于90度,360度等于400 grad);弧度,如1.57 rad(約等于90度,360度等于2π);圈,如0.25 turn(等于90度,360度等于1 turn)。

【示例】以上節(jié)示例為基礎(chǔ),按默認(rèn)原點(diǎn)逆時(shí)針旋轉(zhuǎn)圖像45度:

    img.change {border: solid 1px red;transform: rotate(-45deg);}

效果如下圖所示:
在這里插入圖片描述

1.3、2D縮放

scale()函數(shù)能夠縮放對(duì)象大小,語(yǔ)法格式如下:

    scale(<number>[, <number>])

該函數(shù)包含兩個(gè)參數(shù)值,分別用來(lái)定義寬和高的縮放比例。取值簡(jiǎn)單說(shuō)明如下:

  • 如果取值為正數(shù),則基于指定的寬度和高度將放大或縮小對(duì)象。
  • 如果取值為負(fù)數(shù),則不會(huì)縮小元素,而是翻轉(zhuǎn)元素(如文字被反轉(zhuǎn)),然后再縮放元素。
  • 如果取值為小于1的小數(shù)(如0.5)可以縮小元素。
  • 如果第二個(gè)參數(shù)省略,則第二個(gè)參數(shù)等于第一個(gè)參數(shù)值。

【示例】繼續(xù)以上節(jié)示例為基礎(chǔ),按默認(rèn)原點(diǎn)把圖像縮小1/2:

    img.change {border: solid 1px red;transform: scale(0.5);}

在這里插入圖片描述

1.4、2D平移

translate()函數(shù)能夠平移對(duì)象的位置,語(yǔ)法格式如下:

    translate(<translation-value>[, <translation-value>])

該函數(shù)包含兩個(gè)參數(shù)值,分別用來(lái)定義對(duì)象在x軸和y軸相對(duì)于原點(diǎn)的偏移距離。如果省略參數(shù),則默認(rèn)值為0。如果取負(fù)值,則表示反向偏移,參考原點(diǎn)保持不變。

【示例】設(shè)計(jì)向右下角方向平移圖像,其中x軸偏移150px,y軸偏移50px:

    img.change {border: solid 1px red;transform: translate(150px, 50px);}

在這里插入圖片描述

1.5、2D傾斜

skew()函數(shù)能夠傾斜顯示對(duì)象,語(yǔ)法格式如下:

    skew(<angle> [, <angle>])

該函數(shù)包含兩個(gè)參數(shù)值,分別用來(lái)定義對(duì)象在x軸和y軸傾斜的角度。如果省略參數(shù),則默認(rèn)值為0。與rotate()函數(shù)不同,rotate()函數(shù)只是旋轉(zhuǎn)對(duì)象的角度,而不會(huì)改變對(duì)象的形狀;skew()函數(shù)會(huì)改變對(duì)象的形狀。

【示例】使用skew()函數(shù)變形圖像,x軸傾斜30度,y軸傾斜20度:

    img.change {border: solid 1px red;transform: skew(30deg, 20deg);}

效果如下圖所示:
在這里插入圖片描述

1.6、2D矩陣

matrix()是一個(gè)矩陣函數(shù),它可以同時(shí)實(shí)現(xiàn)縮放、旋轉(zhuǎn)、平移和傾斜操作,語(yǔ)法格式如下:

    matrix(<number>, <number>, <number>, <number>, <number>, <number>)

該函數(shù)包含6個(gè)值,具體說(shuō)明如下:

  • 第1個(gè)參數(shù)控制x軸縮放。
  • 第2個(gè)參數(shù)控制x軸傾斜。
  • 第3個(gè)參數(shù)控制y軸傾斜。
  • 第4個(gè)參數(shù)控制y軸縮放。
  • 第5個(gè)參數(shù)控制x軸平移。
  • 第6個(gè)參數(shù)控制y軸平移。

【示例】使用matrix()函數(shù)模擬:

    img.change {border: solid 1px red;transform: matrix(1, 0.6, 0.2, 1, 0, 0);}

提示:多個(gè)變形函數(shù)可以在一個(gè)聲明中同時(shí)定義。例如:

    div {transform: translate(80, 80);transform: rotate(45deg);transform: scale(1.5, 1.5);}

針對(duì)上面樣式,可以簡(jiǎn)化為:

    div { transform: translate(80, 80) rotate(45deg) scale(1.5, 1.5);}

在這里插入圖片描述

2、過(guò)渡動(dòng)畫(huà)

2013年2月,W3C發(fā)布CSS Transitions工作草案,這個(gè)草案描述了CSS過(guò)渡動(dòng)畫(huà)的基本實(shí)現(xiàn)方法和屬性,目前獲得所有瀏覽器的支持。

2.1、設(shè)置過(guò)渡屬性

transition-property屬性定義過(guò)渡動(dòng)畫(huà)的CSS屬性名稱(chēng),基本語(yǔ)法如下所示:

    transition-property:none | all | [ <IDENT> ] [ ‘,’ <IDENT> ]*;

取值簡(jiǎn)單說(shuō)明如下:

  • none:表示沒(méi)有元素。
  • all:默認(rèn)值,表示針對(duì)所有元素,包括:before和:after偽元素。
  • IDENT:指定CSS屬性列表。幾乎所有色彩、大小或位置等相關(guān)的CSS屬性,包括許多新添加的CSS3屬性都可以應(yīng)用過(guò)渡,如CSS3變換中的放大、縮小、旋轉(zhuǎn)、斜切、漸變等。

【示例】指定動(dòng)畫(huà)的屬性為背景顏色。這樣當(dāng)鼠標(biāo)經(jīng)過(guò)盒子時(shí),會(huì)自動(dòng)從紅色背景過(guò)渡到藍(lán)色背景:

    <style type="text/css">div {margin: 10px auto; height: 80px;background: red;border-radius: 12px;box-shadow: 2px 2px 2px #999;}div:hover {background-color: blue;/*指定動(dòng)畫(huà)過(guò)渡的CSS屬性*/transition-property: background-color;}</style><div></div>

在這里插入圖片描述

2.2、設(shè)置過(guò)渡時(shí)間

transition-duration屬性定義轉(zhuǎn)換動(dòng)畫(huà)的時(shí)間長(zhǎng)度,基本語(yǔ)法如下所示:

    transition-duration:<time> [, <time>]*;

其中,初始值為0,適用于所有元素,以及:before和:after偽元素。在默認(rèn)情況下,動(dòng)畫(huà)過(guò)渡時(shí)間為0 s,當(dāng)指定元素動(dòng)畫(huà)時(shí),會(huì)看不到過(guò)渡的過(guò)程,而直接看到結(jié)果。

【示例】以上節(jié)示例為例,設(shè)置動(dòng)畫(huà)過(guò)渡時(shí)間為2 s,當(dāng)鼠標(biāo)移過(guò)對(duì)象時(shí),會(huì)看到背景色從紅色逐漸過(guò)渡到藍(lán)色:

    div:hover {background-color: blue;/*指定動(dòng)畫(huà)過(guò)渡的CSS屬性*/transition-property: background-color;/*指定動(dòng)畫(huà)過(guò)渡的時(shí)間*/transition-duration:2s;}

在這里插入圖片描述

2.3、設(shè)置延遲過(guò)渡時(shí)間

transition-delay屬性定義開(kāi)啟過(guò)渡動(dòng)畫(huà)的延遲時(shí)間,基本語(yǔ)法如下所示:

    transition-delay:<time> [, <time>]*;

其中,初始值為0,適用于所有元素,以及:before和:after偽元素。設(shè)置時(shí)間可以為正整數(shù)、負(fù)整數(shù)和零。非零的時(shí)候必須設(shè)置單位是s(秒)或者ms(毫秒);為負(fù)數(shù)的時(shí)候,過(guò)渡的動(dòng)作會(huì)從該時(shí)間點(diǎn)開(kāi)始顯示,之前的動(dòng)作被截?cái)?#xff1b;為正數(shù)的時(shí)候,過(guò)渡的動(dòng)作會(huì)延遲觸發(fā)。

【示例】繼續(xù)以上節(jié)示例為基礎(chǔ)進(jìn)行介紹,設(shè)置過(guò)渡動(dòng)畫(huà)推遲2s后執(zhí)行,則當(dāng)鼠標(biāo)移過(guò)對(duì)象時(shí),會(huì)看不到任何變化,過(guò)了2 s之后,才發(fā)現(xiàn)背景色從紅色逐漸過(guò)渡到藍(lán)色。

    div:hover {background-color: blue;/*指定動(dòng)畫(huà)過(guò)渡的CSS屬性*/transition-property: background-color;/*指定動(dòng)畫(huà)過(guò)渡的時(shí)間*/transition-duration: 2s;/*指定動(dòng)畫(huà)延遲觸發(fā) */transition-delay: 2s;}

2.4、設(shè)置過(guò)渡動(dòng)畫(huà)類(lèi)型

transition-timing-function屬性定義過(guò)渡動(dòng)畫(huà)的類(lèi)型,基本語(yǔ)法如下所示:

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

屬性初始值為ease,取值簡(jiǎn)單說(shuō)明如下:

  • ease:平滑過(guò)渡,等同于cubic-bezier(0.25, 0.1, 0.25, 1.0)函數(shù),即立方貝塞爾。
  • linear:線(xiàn)性過(guò)渡,等同于cubic-bezier(0.0, 0.0, 1.0, 1.0)函數(shù)。
  • ease-in:由慢到快,等同于cubic-bezier(0.42, 0, 1.0, 1.0)函數(shù)。
  • ease-out:由快到慢,等同于cubic-bezier(0, 0, 0.58, 1.0)函數(shù)。
  • ease-in-out:由慢到快再到慢,等同于cubic-bezier(0.42,0, 0.58, 1.0)函數(shù)。
  • cubic-bezier:特殊的立方貝塞爾曲線(xiàn)效果。

【示例】繼續(xù)以上節(jié)示例為基礎(chǔ)進(jìn)行介紹,設(shè)置過(guò)渡類(lèi)型為線(xiàn)性效果,代碼如下所示:

    div:hover {background-color: blue;/*指定動(dòng)畫(huà)過(guò)渡的CSS屬性*/transition-property: background-color;/*指定動(dòng)畫(huà)過(guò)渡的時(shí)間*/transition-duration: 10s;/*指定動(dòng)畫(huà)過(guò)渡為線(xiàn)性效果 */transition-timing-function: linear;}

2.5、設(shè)置過(guò)渡觸發(fā)動(dòng)作

CSS3過(guò)渡動(dòng)畫(huà)一般通過(guò)動(dòng)態(tài)偽類(lèi)觸發(fā),如下表所示:
在這里插入圖片描述
也可以通過(guò)JavaScript事件觸發(fā),包括click、focus、mousemove、mouseover、mouseout等。

1、:hover

最常用的過(guò)渡觸發(fā)方式是使用:hover偽類(lèi)。

【示例1】設(shè)計(jì)當(dāng)鼠標(biāo)經(jīng)過(guò)div元素時(shí),該元素的背景顏色會(huì)在經(jīng)過(guò)1 s的初始延遲后,于2 s內(nèi)動(dòng)態(tài)地從綠色變?yōu)樗{(lán)色。

    <style type="text/css">div {margin: 10px auto;height: 80px;border-radius: 12px;box-shadow: 2px 2px 2px #999;background-color: red;transition: background-color 2s ease-in 1s;}div:hover { background-color: blue}</style><div></div>

2、:active

:active偽類(lèi)表示用戶(hù)單擊某個(gè)元素并按住鼠標(biāo)按鈕時(shí)顯示的狀態(tài)。

【示例2】設(shè)計(jì)當(dāng)用戶(hù)單擊div元素時(shí),該元素被激活,這時(shí)會(huì)觸發(fā)動(dòng)畫(huà),高度屬性從200px過(guò)渡到400px。如果按住該元素,保持活動(dòng)狀態(tài),則div元素始終顯示400px高度,松開(kāi)鼠標(biāo)之后,又會(huì)恢復(fù)到原來(lái)的高度:

    <style type="text/css">div {margin: 10px auto;border-radius: 12px;box-shadow: 2px 2px 2px #999;background-color: #8AF435;height: 200px;transition: width 2s ease-in;}div:active {height: 400px;}</style><div></div>

在這里插入圖片描述

3、: focus

:focus偽類(lèi)通常會(huì)在表單對(duì)象接收鍵盤(pán)響應(yīng)時(shí)出現(xiàn)。

【示例3】當(dāng)輸入框獲取焦點(diǎn)時(shí),輸入框的背景色逐步高亮顯示,如下圖所示:

    <style type="text/css">label {display: block;margin: 6px 2px;}input[type="text"], input[type="password"] {padding: 4px;border: solid 1px #ddd;transition: background-color 1s ease-in;}input:focus { background-color: #9FFC54;}</style><form id=fm-form action="" method=post><fieldset><legend>用戶(hù)登錄</legend><label for="name">姓名<input type="text" id="name" name="name" ></label><label for="pass">密碼<input type="password" id="pass" name="pass" ></label></fieldset></form>

在這里插入圖片描述
提示:把:hover偽類(lèi)與:focus配合使用,能夠豐富鼠標(biāo)用戶(hù)和鍵盤(pán)用戶(hù)的體驗(yàn)。

4、:checked

:checked偽類(lèi)在發(fā)生選中狀況時(shí)觸發(fā)過(guò)渡,取消選中則恢復(fù)原來(lái)的狀態(tài)。

【示例4】設(shè)計(jì)當(dāng)復(fù)選框被選中時(shí)緩慢縮進(jìn)2個(gè)字符:

    <style type="text/css">label.name {display: block;margin: 6px 2px;}input[type="text"], input[type="password"] {padding: 4px;border: solid 1px #ddd;}input[type="checkbox"] { transition: margin 1s ease;}input[type="checkbox"]:checked { margin-left: 2em;}</style><form id=fm-form action="" method=post><fieldset><legend>用戶(hù)登錄</legend><label class="name" for="name">姓名<input type="text" id="name" name="name" ></label><p>技術(shù)專(zhuān)長(zhǎng)<br><label><input type="checkbox" name="web" value="html" id="web_0">HTML</label><br><label><input type="checkbox" name="web" value="css" id="web_1">CSS</label><br><label><input type="checkbox" name="web" value="javascript" id="web_2">JavaScript</label><br></p></fieldset></form>

演示效果:
在這里插入圖片描述

5、媒體查詢(xún)

觸發(fā)元素狀態(tài)變化的另一種方法是使用CSS3媒體查詢(xún)。

【示例5】設(shè)計(jì)div元素的寬度和高度為49%×200px,如果用戶(hù)將窗口大小調(diào)整到420px或以下,則該元素將過(guò)渡為100%×100px。也就是說(shuō),當(dāng)窗口寬度變化經(jīng)過(guò)420px的閾值時(shí),將會(huì)觸發(fā)過(guò)渡動(dòng)畫(huà):

    <style type="text/css">div {float: left; margin: 2px;width: 49%; height: 200px;background: #93FB40;border-radius: 12px;box-shadow: 2px 2px 2px #999;transition: width 1s ease, height 1s ease;}@media only screen and (max-width : 420px) {div {width: 100%;height: 100px;}}</style><div></div><div></div>

在這里插入圖片描述

6、JavaScript事件

【示例6】可以使用純粹的CSS偽類(lèi)觸發(fā)過(guò)渡,為了方便用戶(hù)理解,這里通過(guò)jQuery腳本觸發(fā)過(guò)渡:

    <script type="text/javascript" src="images/jquery-1.10.2.js"></script><script type="text/javascript">$(function() {$("#button").click(function() {$(".box").toggleClass("change");});});</script><style type="text/css">.box {margin:4px;background: #93FB40;border-radius: 12px;box-shadow: 2px 2px 2px #999;width: 50%; height: 100px;transition: width 2s ease, height 2s ease;}.change { width: 100%; height: 120px;}</style><input type="button" id="button" value="觸發(fā)過(guò)渡動(dòng)畫(huà)" /><div class="box"></div>

在文檔中包含一個(gè)box類(lèi)的盒子和一個(gè)按鈕,當(dāng)單擊按鈕時(shí),jQuery腳本會(huì)將盒子的類(lèi)切換為change,從而觸發(fā)過(guò)渡動(dòng)畫(huà):
在這里插入圖片描述
上面演示了樣式發(fā)生變化會(huì)導(dǎo)致過(guò)渡動(dòng)畫(huà),也可以通過(guò)其他方法觸發(fā)這些更改,包括通過(guò)JavaScript腳本動(dòng)態(tài)更改。從執(zhí)行效率來(lái)看,事件通常應(yīng)當(dāng)通過(guò)JavaScript觸發(fā),簡(jiǎn)單動(dòng)畫(huà)或過(guò)渡則應(yīng)使用CSS觸發(fā)。

3、幀動(dòng)畫(huà)

2012年4月,W3C發(fā)布CSS Animations工作草案,在這個(gè)草案中描述了CSS關(guān)鍵幀動(dòng)畫(huà)的基本實(shí)現(xiàn)方法和屬性。目前主流瀏覽器都支持CSS幀動(dòng)畫(huà)。

3.1、設(shè)置關(guān)鍵幀

CSS3使用@keyframes定義關(guān)鍵幀,具體用法如下所示:

    @keyframes animationname {keyframes-selector {css-styles;}}

其中參數(shù)說(shuō)明如下:

  • animationname:定義動(dòng)畫(huà)的名稱(chēng)。
  • keyframes-selector:定義幀的時(shí)間位置,也就是動(dòng)畫(huà)時(shí)長(zhǎng)的百分比,合法的值包括:0~100%、from(等價(jià)于0)、to(等價(jià)于100%)。
  • css-styles:表示一個(gè)或多個(gè)合法的CSS樣式屬性。

在動(dòng)畫(huà)設(shè)計(jì)過(guò)程中,用戶(hù)能夠多次改變CSS樣式,以百分比定義樣式改變發(fā)生的時(shí)間,或者通過(guò)關(guān)鍵詞from和to。為了獲得最佳瀏覽器支持,設(shè)計(jì)關(guān)鍵幀動(dòng)畫(huà)時(shí),應(yīng)該始終定義0和100%位置幀。最后,為每幀定義動(dòng)態(tài)樣式,同時(shí)將動(dòng)畫(huà)與選擇器綁定。

【示例】演示讓一個(gè)小方盒沿著方形框內(nèi)壁勻速運(yùn)動(dòng):

    <style>#wrap {                                    /* 定義運(yùn)動(dòng)軌跡包含框*/position:relative;                     /* 定義定位包含框,避免小盒子跑到外面運(yùn)動(dòng)*/border:solid 1px red;width:250px; height:250px;}#box {                                     /* 定義運(yùn)動(dòng)小盒的樣式*/position:absolute;left:0; top:0;width: 50px; height: 50px;background: #93FB40;border-radius: 8px;box-shadow: 2px 2px 2px #999;/*定義幀動(dòng)畫(huà):名稱(chēng)為ball,動(dòng)畫(huà)時(shí)長(zhǎng)5s,動(dòng)畫(huà)類(lèi)型為勻速漸變,動(dòng)畫(huà)無(wú)限播放*/animation: ball 5s linear infinite;}/*定義關(guān)鍵幀:共包括5幀,分別在總時(shí)長(zhǎng)為0、25%、50%、75%、100%的位置*//*每幀中設(shè)置動(dòng)畫(huà)屬性為left和top,讓它們的值勻速漸變,產(chǎn)生運(yùn)動(dòng)動(dòng)畫(huà)*/@keyframes ball {0 {left:0;top:0;}25% {left:200px;top:0;}50% {left:200px;top:200px;}75% {left:0;top:200px;}100% {left:0;top:0;}}</style><div id="wrap"><div id="box"></div></div>

在這里插入圖片描述

3.2、設(shè)置動(dòng)畫(huà)屬性

Animations功能與Transition功能相同,都是通過(guò)改變?cè)氐膶傩灾祵?shí)現(xiàn)動(dòng)畫(huà)效果。它們的區(qū)別在于:使用Transitions功能時(shí)只能通過(guò)指定屬性的開(kāi)始值與結(jié)束值,然后以在這兩個(gè)屬性值之間進(jìn)行平滑過(guò)渡的方式實(shí)現(xiàn)動(dòng)畫(huà)效果,因此不能實(shí)現(xiàn)比較復(fù)雜的動(dòng)畫(huà)效果;而Animations功能則通過(guò)定義多個(gè)關(guān)鍵幀以及定義每個(gè)關(guān)鍵幀中元素的屬性值實(shí)現(xiàn)更為復(fù)雜的動(dòng)畫(huà)效果。

1.定義動(dòng)畫(huà)名稱(chēng)

使用animation-name屬性可以定義CSS動(dòng)畫(huà)的名稱(chēng),語(yǔ)法如下所示:

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

其中,初始值為none,定義一個(gè)適用的動(dòng)畫(huà)列表。每個(gè)名字用來(lái)選擇動(dòng)畫(huà)關(guān)鍵幀,提供動(dòng)畫(huà)的屬性值。如名稱(chēng)是none,就不會(huì)有動(dòng)畫(huà)。

2.定義動(dòng)畫(huà)時(shí)間

使用animation-duration屬性可以定義CSS動(dòng)畫(huà)的播放時(shí)間,語(yǔ)法如下所示。

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

在默認(rèn)情況下,該屬性值為0,這意味著動(dòng)畫(huà)周期為0,即不會(huì)有動(dòng)畫(huà)。當(dāng)值為負(fù)值時(shí),則被視為0。

3.定義動(dòng)畫(huà)類(lèi)型

使用animation-timing-function屬性可以定義CSS動(dòng)畫(huà)類(lèi)型,語(yǔ)法如下所示。

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

初始值為ease,取值說(shuō)明可參考上面介紹的過(guò)渡動(dòng)畫(huà)類(lèi)型。

4.定義延遲時(shí)間

使用animation-delay屬性可以定義CSS動(dòng)畫(huà)延遲播放的時(shí)間,語(yǔ)法如下所示:

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

該屬性允許一個(gè)動(dòng)畫(huà)開(kāi)始執(zhí)行一段時(shí)間后才被應(yīng)用。當(dāng)動(dòng)畫(huà)延遲時(shí)間為0,即默認(rèn)動(dòng)畫(huà)延遲時(shí)間,則意味著動(dòng)畫(huà)將盡快執(zhí)行,否則該值指定將延遲執(zhí)行的時(shí)間。

5.定義播放次數(shù)

使用animation-delay屬性可以定義CSS動(dòng)畫(huà)延遲播放的時(shí)間,語(yǔ)法如下所示:

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

該屬性允許一個(gè)動(dòng)畫(huà)開(kāi)始執(zhí)行一段時(shí)間后才被應(yīng)用。當(dāng)動(dòng)畫(huà)延遲時(shí)間為0,即默認(rèn)動(dòng)畫(huà)延遲時(shí)間,則意味著動(dòng)畫(huà)將盡快執(zhí)行,否則該值指定將延遲執(zhí)行的時(shí)間。

6.定義播放方向

使用animation-direction屬性定義CSS動(dòng)畫(huà)的播放方向,基本語(yǔ)法如下所示。

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

默認(rèn)值為normal。當(dāng)為默認(rèn)值時(shí),動(dòng)畫(huà)的每次循環(huán)都向前播放。另一個(gè)值是alternate,設(shè)置該值則表示第偶數(shù)次向前播放,第奇數(shù)次向反方向播放。

7.定義播放狀態(tài)

使用animation-play-state屬性定義動(dòng)畫(huà)正在運(yùn)行還是暫停,語(yǔ)法如下所示:

    animation-play-state: paused|running;

初始值為running。其中,paused定義動(dòng)畫(huà)已暫停,running定義動(dòng)畫(huà)正在播放。

提示:可以在JavaScript中使用該屬性,這樣就能在播放過(guò)程中暫停動(dòng)畫(huà)。在JavaScript腳本中用法如下。

8.定義播放外狀態(tài)

使用animation-fill-mode屬性定義動(dòng)畫(huà)播放外狀態(tài),語(yǔ)法如下所示。

    animation-fill-mode:none | forwards | backwards | both [ , none | forwards | backwards | both ]*

初始值為none,如果提供多個(gè)屬性值,以逗號(hào)進(jìn)行分隔。取值說(shuō)明如下:

  • none:不設(shè)置對(duì)象動(dòng)畫(huà)之外的狀態(tài)。
  • forwards:設(shè)置對(duì)象狀態(tài)為動(dòng)畫(huà)結(jié)束時(shí)的狀態(tài)。
  • backwards:設(shè)置對(duì)象狀態(tài)為動(dòng)畫(huà)開(kāi)始時(shí)的狀態(tài)。
  • both:設(shè)置對(duì)象狀態(tài)為動(dòng)畫(huà)結(jié)束或開(kāi)始的狀態(tài)。

【示例】設(shè)計(jì)一個(gè)小球,并定義它水平向左運(yùn)動(dòng),動(dòng)畫(huà)結(jié)束之后,再返回起始點(diǎn)位置:

    <style>/*啟動(dòng)運(yùn)動(dòng)的小球,并定義動(dòng)畫(huà)結(jié)束后返回*/.ball{width: 50px; height: 50px;background: #93FB40;border-radius: 100%;box-shadow:2px 2px 2px #999;animation:ball 1s ease backwards;}/*定義小球水平運(yùn)動(dòng)關(guān)鍵幀*/@keyframes ball{0%{transform:translate(0,0);}100%{transform:translate(400px);}}</style><div class="ball"></div>

效果如下圖所示:
在這里插入圖片描述

http://www.risenshineclean.com/news/40423.html

相關(guān)文章:

  • 包工頭接活網(wǎng)站app軟件開(kāi)發(fā)需要學(xué)什么
  • 淘寶u站怎么做網(wǎng)站的磁力蜘蛛
  • wordpress 信息查詢(xún)插件seo優(yōu)化技巧
  • 網(wǎng)站開(kāi)發(fā)者不給源代碼怎么辦招商外包
  • eclipse網(wǎng)站開(kāi)發(fā)實(shí)例域名批量注冊(cè)查詢(xún)
  • 建一個(gè)平臺(tái)網(wǎng)站需要多少錢(qián)網(wǎng)絡(luò)營(yíng)銷(xiāo)包括的主要內(nèi)容有
  • 哈爾濱建站在線(xiàn)咨詢(xún)河北軟文搜索引擎推廣公司
  • 做網(wǎng)站好還是做安卓app好百度seo公司哪家好一點(diǎn)
  • 廣州網(wǎng)站建設(shè) 易點(diǎn)seo站點(diǎn)是什么意思
  • 杭州家具網(wǎng)站建設(shè)方案百度搜索引擎的特點(diǎn)
  • 源碼做網(wǎng)站教程網(wǎng)絡(luò)營(yíng)銷(xiāo)服務(wù)公司
  • 有沒(méi)有電腦做兼職的網(wǎng)站嗎流量查詢(xún)網(wǎng)站
  • 珠海網(wǎng)站開(kāi)發(fā)公司中國(guó)新聞網(wǎng)最新消息
  • 赤坎手機(jī)網(wǎng)站建設(shè)網(wǎng)絡(luò)項(xiàng)目怎么推廣
  • 宣傳做傳單的網(wǎng)站戶(hù)外廣告
  • 哪個(gè)網(wǎng)站買(mǎi)做房圖紙好鏈接推廣平臺(tái)
  • 做亞馬遜外國(guó)網(wǎng)站需要語(yǔ)言好嗎日本比分算1:1
  • 網(wǎng)站開(kāi)發(fā)的研究思路seo經(jīng)理
  • html5笑話(huà)網(wǎng)站源碼上海seo網(wǎng)絡(luò)優(yōu)化
  • 直銷(xiāo)購(gòu)物網(wǎng)站開(kāi)發(fā)搜狗搜索引擎優(yōu)化
  • 泰安建設(shè)企業(yè)網(wǎng)站華與華營(yíng)銷(xiāo)策劃公司
  • 網(wǎng)站做商城網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃書(shū)結(jié)構(gòu)
  • 海南澄邁網(wǎng)站建設(shè)寧波免費(fèi)建站seo排名
  • 營(yíng)銷(xiāo)策劃方案4000字上海全國(guó)關(guān)鍵詞排名優(yōu)化
  • 網(wǎng)站首頁(yè)上的動(dòng)畫(huà)是咋做的灰色詞排名接單
  • 上海 設(shè)計(jì)網(wǎng)站建設(shè)上海百度seo優(yōu)化
  • 個(gè)人站長(zhǎng)怎么樣做網(wǎng)站才不會(huì)很累關(guān)鍵詞調(diào)詞平臺(tái)費(fèi)用
  • 適合推廣的網(wǎng)站有哪些南昌網(wǎng)站優(yōu)化公司
  • 手機(jī)網(wǎng)站設(shè)計(jì)小程序色盲眼鏡
  • 網(wǎng)站全局搜索如何做如何設(shè)計(jì)與制作網(wǎng)頁(yè)