溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

html中transition動(dòng)畫效果怎么用

發(fā)布時(shí)間:2022-02-28 15:07:34 來(lái)源:億速云 閱讀:319 作者:小新 欄目:web開發(fā)

這篇文章主要介紹html中transition動(dòng)畫效果怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

  一、transition過(guò)渡動(dòng)畫

  當(dāng)元素的樣式從一種狀態(tài)變成另一種狀態(tài)的時(shí)候,產(chǎn)生平滑的過(guò)渡效果。

  注意:transition只能在兩種不同的狀態(tài)之間產(chǎn)生過(guò)渡動(dòng)畫,不能有兩種以上的狀態(tài),這和animation動(dòng)畫不一樣,所以論武力值,transition只能算閹割版的animation。

  可以把第一個(gè)狀態(tài)表示為初始值。第二個(gè)狀態(tài)表示為結(jié)束值。

  比如顏色從黑色變成白色,寬度從100px變成200px,透明度從1變成0.5等等,這都屬于一個(gè)樣式狀態(tài)的變化。

  所以要對(duì)一個(gè)元素做過(guò)渡動(dòng)畫,必須有兩個(gè)要素要滿足:

  1、哪個(gè)對(duì)象要做動(dòng)畫。

  2、動(dòng)畫要執(zhí)行多長(zhǎng)時(shí)間。因?yàn)槟J(rèn)值是0,所以必須設(shè)置運(yùn)動(dòng)的時(shí)長(zhǎng)。

  什么時(shí)候開始執(zhí)行動(dòng)畫呢?那就是當(dāng)樣式的值發(fā)生改變的時(shí)候,最初級(jí)的運(yùn)用就是利用:hover偽類來(lái)實(shí)現(xiàn)效果。

  因?yàn)榧嫒菪缘膯?wèn)題,低版本瀏覽器請(qǐng)加上前綴。a{

  color:#333;

  -moz-transition:?.2s;

  -webkit-transition:?.2s;

  -o-transition:?.2s;

  transition:.2s;?

  }

  a:hover{

  color:#F78500;

  }

  二、transition的屬性transition-property ? 執(zhí)行過(guò)渡動(dòng)畫的樣式屬性,默認(rèn)值為all。

  transition-delay ? 延遲多少時(shí)間執(zhí)行過(guò)渡動(dòng)畫,默認(rèn)值0。

  transition-duration ? 執(zhí)行過(guò)渡動(dòng)畫花費(fèi)的時(shí)間,默認(rèn)值為0。

  transition-timing-function ?動(dòng)畫執(zhí)行的加減速貝塞爾曲線。默認(rèn)值為ease。

  1、transition-property支持的屬性。

  能夠用具體的數(shù)字類的值表示的屬性。不是所有的css屬性都可以執(zhí)行動(dòng)畫的,比如display就不可以,而visibility就可以。

  width、height大小類的屬性,color類的屬性(background-color/border-color/color等),margin、padding邊距類的屬性,position定位類的屬性(left、top、background-position等),以及z-index/text-shadow/text-indent/opacity/visibility/transform等。

  2、transition-timing-function 時(shí)間曲線。

  這個(gè)屬性非常的強(qiáng)大,單獨(dú)拿出一篇文章來(lái)講解都不為過(guò)。數(shù)學(xué)好的人應(yīng)該都能記住貝塞爾曲線。在這里用貝塞爾曲線來(lái)表示運(yùn)動(dòng)的加減速等規(guī)律。

  我們常用的也就是ease-in/ease-out/linear等值。其實(shí),它的語(yǔ)法規(guī)則可以有那么多↓

  transition-timing-function:?ease;

  transition-timing-function:?ease-in;

  transition-timing-function:?ease-out;

  transition-timing-function:?ease-in-out;

  transition-timing-function:?linear;

  transition-timing-function:?step-start;

  transition-timing-function:?step-end;

  transition-timing-function:?steps(4,?end);

  transition-timing-function:?cubic-bezier(0.1,?0.7,?1.0,?0.1);

  transition-timing-function:?frames(10);

  transition-timing-function:?ease,?step-start,?cubic-bezier(0.1,?0.7,?1.0,?0.1);

  transition-timing-function:?inherit;

  transition-timing-function:?initial;

  transition-timing-function:?unset;

  運(yùn)動(dòng)速度的變化很微妙,通過(guò)直觀的在線效果更好理解,可以用這個(gè)在線工具直觀的查看各種不同曲線產(chǎn)生的效果。

  還有在線生成transition動(dòng)畫代碼的工具,真的是懶人福音。

  三、案例

  1、鼠標(biāo)經(jīng)過(guò)顏色的變化

  See the Pen transition過(guò)渡動(dòng)畫案例1 by zhaolanzhen (@mrszhao) on CodePen.

  2、鼠標(biāo)經(jīng)過(guò)顯示和隱藏,結(jié)構(gòu)有嵌套關(guān)系的下拉菜單,這個(gè)案例就利用了visibility和opacity結(jié)合完成顯示和隱藏的效果,而用display:none就不可以。

  See the Pen transition過(guò)渡動(dòng)畫案例2 by zhaolanzhen (@mrszhao) on CodePen.

  3、鼠標(biāo)經(jīng)過(guò)顯示和隱藏,結(jié)構(gòu)沒有嵌套關(guān)系,用純CSS實(shí)現(xiàn)的話,鼠標(biāo)移開下面的對(duì)象也會(huì)消失,不能像下拉菜單那樣還能把鼠標(biāo)移到下面的元素上。

  See the Pen transition過(guò)渡動(dòng)畫案例3 by zhaolanzhen (@mrszhao) on CodePen.

  4、鼠標(biāo)經(jīng)過(guò)顯示和隱藏,結(jié)構(gòu)沒有嵌套,想鼠標(biāo)移開還能移到下面對(duì)象上,需要使用js的定時(shí)器。

  See the Pen transition過(guò)渡動(dòng)畫案例4 by zhaolanzhen (@mrszhao) on CodePen.

以上是“html中transition動(dòng)畫效果怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI