国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

css 動畫

fish / 3371人閱讀

摘要:動畫首先要明白動畫是一幀一幀的,由多個幀拼起來的動畫此為動畫樣式中的關鍵幀,用關鍵幀來控制動畫中的關鍵樣式。將會遵守倒序還是正序的停留正序倒序總寫按照上方順序即可如下關鍵幀動畫演示效果

css動畫
首先要明白動畫是一幀一幀的,由多個幀拼起來的動畫

@keyframes

此為動畫樣式中的關鍵幀,用關鍵幀來控制css動畫中的關鍵樣式。相比較過渡更加的容易空值中間的部分
其指示了一個過程到另一個過程的過程
關鍵幀還具有名字,在應用的時候通過名字將其綁定。

如果關鍵幀重復定義,則根據最后一次定義為準

關鍵幀中的important會被略過

舉個栗子

定義一個關鍵幀

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

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

樣式如下

這樣就完成一次動畫操作

分開定義

也可以進行分開定義
按照百分號進行定義,結果如下
關鍵幀如下

@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 同樣是一個簡寫屬性,相比較js寫動畫來說,css動畫已經灰常簡單了。

大概看了一點純js動畫,js動畫核心在于對css樣式的更改,外加一個重復時間對css不斷的累加得到動畫效果

下面依次說明

animation-name

和關鍵幀進行綁定
必須和關鍵幀的名字相同(廢話)

animation-duration

指定一個動畫的周期

負值的動畫無效
舉一個栗子
div {
    width:300px;
    height:400px;
    background:#698771;
    margin:auto;
    animation-name: myFrames;
    animation-duration:.9s;
}

/*關鍵幀*/
@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-timing-function

定義一個動畫的過程,類似于過渡的函數
同樣的,有貝塞爾曲線等等
不在闡述

DevTools

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

animation-delay

定義動畫的延遲

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;
}

/*關鍵幀*/
@keyframes myFrames {
    from {
        left:0;
    }

    to {
        left:70%;
    }
}

@keyframes myCenter {
    from {
        left:0;
    }

    to {
        left:0;
    }
}

html如下




    
    
    css動畫


    

動畫延遲了0.9秒

animation-iteration-count

定義動畫的迭代次數infinite 為永遠重復
數值為number

舉栗子
animation-iteration-count:3;

動畫重復播放3次。

animation-iteration-count:infinite;

動畫永遠重復播放

animation-direction

定義是否向前,向后,是否交替來回

如果想要重復的多次播放,必須有animation-iteration-count的值為infinity否則不會出現重復播放
normal

為一個每次重復重新的位置開始播放(每次都將重置為新狀態,開始執行)

reverse

倒序播放

alternate

奇數正向播放
偶數倒序播放
即來回

alternate-reverse

奇數倒序播放
偶數正向播放
即倒來回

ps 動畫具有繼承的屬性
animation-fill-mode forwards

將會保留最后一個關鍵幀,讓其停留。

css

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

將會應用第一個動畫值

和none的區別在于none使用默認的css樣式,backwards將會使用動畫的第一幀

    /*animation-iteration-count:infinite;*/
    animation-direction:alternate;
    animation-fill-mode:backwards;
ps 加上注釋的原因是因為如果不加將會重復播放。
both

將會遵守倒序還是正序的停留

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

倒序

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

按照上方順序即可
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;
}

/*關鍵幀*/
@keyframes myFrames {
    from {
        left:0;
    }

    to {
        left:70%;
    }
}

@keyframes myCenter {
    from {
        left:0;
    }

    to {
        left:0;
    }
}



    
    
    css動畫


    

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/113688.html

相關文章

  • [譯]10個驚人的CSS和JavaScript動畫logos例子

    摘要:任天堂的最新游戲的控制臺帶有一個輝煌的動畫,他所有的商業廣告和這個示例都由創建。使用重新構建任天堂開關,同時使用動畫化整個事物。 現在構建一個HTML和CSS的動畫logo比以前容易多了,配合更新的JavaScript庫可以進一步推動網絡動畫的發展。 看看這個畫廊的10個令人難以置信的自定義動畫logo,它們展示的是一些未知的實體或者世界知名品牌。 1、Flowers SVG Web...

    YFan 評論0 收藏0
  • JavaScript是如何工作的: CSS 和 JS 動畫底層原理及如何優化它們的性能

    摘要:貝塞爾曲線貝塞爾曲線是應用于二維圖形應用程序的數學曲線。通過調整控制點,貝塞爾曲線的形狀會發生變化。讓我們看看貝塞爾曲線的工作原理。貝塞爾曲線需要四個值,或者更準確地說它需要兩對數字。每對描述立方貝塞爾曲線控制點的和坐標。 這是專門探索 JavaScript 及其所構建的組件的系列文章的第 13 篇。 如果你錯過了前面的章節,可以在這里找到它們: JavaScript 是如何工作的:...

    darcrand 評論0 收藏0
  • JavaScript 工作原理之十三-CSS 和 JS 動畫底層原理及如何優化其性能

    摘要:關鍵幀是用來通知瀏覽器在規定的時間點上應有的屬性值然后填充空白。每一對數值內包含表示三次貝塞爾曲線控制點的和坐標。即使每個控制點的和值的微小差異都會輸出完全不同的貝塞爾曲線。 原文請查閱這里,本文采用知識共享署名 4.0 國際許可協議共享,BY Troland。 本系列持續更新中,Github 地址請查閱這里。 這是 JavaScript 工作原理的第十三章。 概述 正如你所知,動畫在...

    0xE7A38A 評論0 收藏0
  • JavaScript 工作原理之十三-CSS 和 JS 動畫底層原理及如何優化其性能

    摘要:關鍵幀是用來通知瀏覽器在規定的時間點上應有的屬性值然后填充空白。每一對數值內包含表示三次貝塞爾曲線控制點的和坐標。即使每個控制點的和值的微小差異都會輸出完全不同的貝塞爾曲線。 原文請查閱這里,本文采用知識共享署名 4.0 國際許可協議共享,BY Troland。 本系列持續更新中,Github 地址請查閱這里。 這是 JavaScript 工作原理的第十三章。 概述 正如你所知,動畫在...

    william 評論0 收藏0

發表評論

0條評論

fish

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<