亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

css 動(dòng)畫(huà)

fish / 3427人閱讀

摘要:動(dòng)畫(huà)首先要明白動(dòng)畫(huà)是一幀一幀的,由多個(gè)幀拼起來(lái)的動(dòng)畫(huà)此為動(dòng)畫(huà)樣式中的關(guān)鍵幀,用關(guān)鍵幀來(lái)控制動(dòng)畫(huà)中的關(guān)鍵樣式。將會(huì)遵守倒序還是正序的停留正序倒序總寫(xiě)按照上方順序即可如下關(guān)鍵幀動(dòng)畫(huà)演示效果

css動(dòng)畫(huà)
首先要明白動(dòng)畫(huà)是一幀一幀的,由多個(gè)幀拼起來(lái)的動(dòng)畫(huà)

@keyframes

此為動(dòng)畫(huà)樣式中的關(guān)鍵幀,用關(guān)鍵幀來(lái)控制css動(dòng)畫(huà)中的關(guān)鍵樣式。相比較過(guò)渡更加的容易空值中間的部分
其指示了一個(gè)過(guò)程到另一個(gè)過(guò)程的過(guò)程
關(guān)鍵幀還具有名字,在應(yīng)用的時(shí)候通過(guò)名字將其綁定。

如果關(guān)鍵幀重復(fù)定義,則根據(jù)最后一次定義為準(zhǔn)

關(guān)鍵幀中的important會(huì)被略過(guò)

舉個(gè)栗子

定義一個(gè)關(guān)鍵幀

@keyframes myFrames {
    form {
        background:#a7e5c6;
        width:100px;
    }

    to {
        width:90%;
        background:#c6c2a3;
    }
}

樣式如下

這樣就完成一次動(dòng)畫(huà)操作

分開(kāi)定義

也可以進(jìn)行分開(kāi)定義
按照百分號(hào)進(jìn)行定義,結(jié)果如下
關(guān)鍵幀如下

@keyframes myFrames {
    0% {
        width:200px;
        background:#827e64;
    }

    20% {
        width:400px;
        background:#86bece;
    }

    50% {
        height:600px;
        background:#af92aa;
    }

    90% {
        width:300px;
        height:400px;
        background:#698771;
    }
}

效果如下

animation

animation 同樣是一個(gè)簡(jiǎn)寫(xiě)屬性,相比較js寫(xiě)動(dòng)畫(huà)來(lái)說(shuō),css動(dòng)畫(huà)已經(jīng)灰常簡(jiǎn)單了。

大概看了一點(diǎn)純js動(dòng)畫(huà),js動(dòng)畫(huà)核心在于對(duì)css樣式的更改,外加一個(gè)重復(fù)時(shí)間對(duì)css不斷的累加得到動(dòng)畫(huà)效果

下面依次說(shuō)明

animation-name

和關(guān)鍵幀進(jìn)行綁定
必須和關(guān)鍵幀的名字相同(廢話)

animation-duration

指定一個(gè)動(dòng)畫(huà)的周期

負(fù)值的動(dòng)畫(huà)無(wú)效
舉一個(gè)栗子
div {
    width:300px;
    height:400px;
    background:#698771;
    margin:auto;
    animation-name: myFrames;
    animation-duration:.9s;
}

/*關(guān)鍵幀*/
@keyframes myFrames {
    0% {
        width:200px;
        background:#827e64;
    }

    20% {
        width:400px;
        background:#86bece;
    }

    50% {
        height:600px;
        background:#af92aa;
    }

    90% {
        width:300px;
        height:400px;
        background:#698771;
    }
}

動(dòng)畫(huà)效果如下

animation-timing-function

定義一個(gè)動(dòng)畫(huà)的過(guò)程,類(lèi)似于過(guò)渡的函數(shù)
同樣的,有貝塞爾曲線等等
不在闡述

DevTools

谷歌瀏覽器的調(diào)試工具具有該方法,可以直接使用調(diào)試工具繪制貝塞爾曲線

animation-delay

定義動(dòng)畫(huà)的延遲

css如下

* {
    margin:0;
    padding:0;
}
body {
    position:relative;
}
div {
    width:400px;
    height:400px;
    position: absolute;
    left:0;
    top:0;
    bottom:0;
    margin:auto;
    background:#698771;
    border-radius:1000px;
    animation-name: myFrames;
    animation-duration:5s;
    animation-timing-function:cubic-bezier(0.785, 0.135, 0.15, 0.86);
    animation-delay:.9s;
}
div div {
    width:40px;
    height:40px;
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    margin:auto;
    background:#e8e3da;
    animation-name:myCenter;
}

/*關(guān)鍵幀*/
@keyframes myFrames {
    from {
        left:0;
    }

    to {
        left:70%;
    }
}

@keyframes myCenter {
    from {
        left:0;
    }

    to {
        left:0;
    }
}

html如下




    
    
    css動(dòng)畫(huà)


    

動(dòng)畫(huà)延遲了0.9秒

animation-iteration-count

定義動(dòng)畫(huà)的迭代次數(shù)infinite 為永遠(yuǎn)重復(fù)
數(shù)值為number

舉栗子
animation-iteration-count:3;

動(dòng)畫(huà)重復(fù)播放3次。

animation-iteration-count:infinite;

動(dòng)畫(huà)永遠(yuǎn)重復(fù)播放

animation-direction

定義是否向前,向后,是否交替來(lái)回

如果想要重復(fù)的多次播放,必須有animation-iteration-count的值為infinity否則不會(huì)出現(xiàn)重復(fù)播放
normal

為一個(gè)每次重復(fù)重新的位置開(kāi)始播放(每次都將重置為新?tīng)顟B(tài),開(kāi)始執(zhí)行)

reverse

倒序播放

alternate

奇數(shù)正向播放
偶數(shù)倒序播放
即來(lái)回

alternate-reverse

奇數(shù)倒序播放
偶數(shù)正向播放
即倒來(lái)回

ps 動(dòng)畫(huà)具有繼承的屬性
animation-fill-mode forwards

將會(huì)保留最后一個(gè)關(guān)鍵幀,讓其停留。

css

    /*animation-iteration-count:infinite;*/
    animation-direction:alternate;
    animation-fill-mode:forwards;
backwards

將會(huì)應(yīng)用第一個(gè)動(dòng)畫(huà)值

和none的區(qū)別在于none使用默認(rèn)的css樣式,backwards將會(huì)使用動(dòng)畫(huà)的第一幀

    /*animation-iteration-count:infinite;*/
    animation-direction:alternate;
    animation-fill-mode:backwards;
ps 加上注釋的原因是因?yàn)槿绻患訉?huì)重復(fù)播放。
both

將會(huì)遵守倒序還是正序的停留

正序
    /*animation-iteration-count:infinite;*/
    animation-direction:normal;
    animation-fill-mode:both;

倒序

    /*animation-iteration-count:infinite;*/
    animation-direction:reverse;
    animation-fill-mode:both;
總寫(xiě)

按照上方順序即可
css 如下

* {
    margin:0;
    padding:0;
}
body {
    position:relative;
}
div {
    width:400px;
    height:400px;
    position: absolute;
    left:0;
    top:0;
    bottom:0;
    margin:auto;
    background:#698771;
    border-radius:1000px;
    animation:myFrames 5s cubic-bezier(0.785, 0.135, 0.15, 0.86) .5s infinite alternate both;
}
div div {
    width:40px;
    height:40px;
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    margin:auto;
    background:#e8e3da;
    animation-name:myCenter;
}

/*關(guān)鍵幀*/
@keyframes myFrames {
    from {
        left:0;
    }

    to {
        left:70%;
    }
}

@keyframes myCenter {
    from {
        left:0;
    }

    to {
        left:0;
    }
}



    
    
    css動(dòng)畫(huà)


    

演示效果 https://melovemingming.gitee....

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/113688.html

相關(guān)文章

  • [譯]10個(gè)驚人的CSS和JavaScript動(dòng)畫(huà)logos例子

    摘要:任天堂的最新游戲的控制臺(tái)帶有一個(gè)輝煌的動(dòng)畫(huà),他所有的商業(yè)廣告和這個(gè)示例都由創(chuàng)建。使用重新構(gòu)建任天堂開(kāi)關(guān),同時(shí)使用動(dòng)畫(huà)化整個(gè)事物。 現(xiàn)在構(gòu)建一個(gè)HTML和CSS的動(dòng)畫(huà)logo比以前容易多了,配合更新的JavaScript庫(kù)可以進(jìn)一步推動(dòng)網(wǎng)絡(luò)動(dòng)畫(huà)的發(fā)展。 看看這個(gè)畫(huà)廊的10個(gè)令人難以置信的自定義動(dòng)畫(huà)logo,它們展示的是一些未知的實(shí)體或者世界知名品牌。 1、Flowers SVG Web...

    YFan 評(píng)論0 收藏0
  • JavaScript是如何工作的: CSS 和 JS 動(dòng)畫(huà)底層原理及如何優(yōu)化它們的性能

    摘要:貝塞爾曲線貝塞爾曲線是應(yīng)用于二維圖形應(yīng)用程序的數(shù)學(xué)曲線。通過(guò)調(diào)整控制點(diǎn),貝塞爾曲線的形狀會(huì)發(fā)生變化。讓我們看看貝塞爾曲線的工作原理。貝塞爾曲線需要四個(gè)值,或者更準(zhǔn)確地說(shuō)它需要兩對(duì)數(shù)字。每對(duì)描述立方貝塞爾曲線控制點(diǎn)的和坐標(biāo)。 這是專(zhuān)門(mén)探索 JavaScript 及其所構(gòu)建的組件的系列文章的第 13 篇。 如果你錯(cuò)過(guò)了前面的章節(jié),可以在這里找到它們: JavaScript 是如何工作的:...

    darcrand 評(píng)論0 收藏0
  • JavaScript 工作原理之十三-CSS 和 JS 動(dòng)畫(huà)底層原理及如何優(yōu)化其性能

    摘要:關(guān)鍵幀是用來(lái)通知瀏覽器在規(guī)定的時(shí)間點(diǎn)上應(yīng)有的屬性值然后填充空白。每一對(duì)數(shù)值內(nèi)包含表示三次貝塞爾曲線控制點(diǎn)的和坐標(biāo)。即使每個(gè)控制點(diǎn)的和值的微小差異都會(huì)輸出完全不同的貝塞爾曲線。 原文請(qǐng)查閱這里,本文采用知識(shí)共享署名 4.0 國(guó)際許可協(xié)議共享,BY Troland。 本系列持續(xù)更新中,Github 地址請(qǐng)查閱這里。 這是 JavaScript 工作原理的第十三章。 概述 正如你所知,動(dòng)畫(huà)在...

    0xE7A38A 評(píng)論0 收藏0
  • JavaScript 工作原理之十三-CSS 和 JS 動(dòng)畫(huà)底層原理及如何優(yōu)化其性能

    摘要:關(guān)鍵幀是用來(lái)通知瀏覽器在規(guī)定的時(shí)間點(diǎn)上應(yīng)有的屬性值然后填充空白。每一對(duì)數(shù)值內(nèi)包含表示三次貝塞爾曲線控制點(diǎn)的和坐標(biāo)。即使每個(gè)控制點(diǎn)的和值的微小差異都會(huì)輸出完全不同的貝塞爾曲線。 原文請(qǐng)查閱這里,本文采用知識(shí)共享署名 4.0 國(guó)際許可協(xié)議共享,BY Troland。 本系列持續(xù)更新中,Github 地址請(qǐng)查閱這里。 這是 JavaScript 工作原理的第十三章。 概述 正如你所知,動(dòng)畫(huà)在...

    william 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<