亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

CSS3常見動畫的實(shí)現(xiàn)方式

  發(fā)布時間:2021-04-14 16:51:09   作者:喆星高照   我要評論
這篇文章主要介紹了CSS3常見動畫的實(shí)現(xiàn)方式,幫助大家更好的理解和學(xué)習(xí)使用CSS3制作特效,感興趣的朋友可以了解下

一、是什么

CSS動畫(CSS Animations)是為層疊樣式表建議的允許可擴(kuò)展標(biāo)記語言(XML)元素使用CSS的動畫的模塊

即指元素從一種樣式逐漸過渡為另一種樣式的過程

常見的動畫效果有很多,如平移、旋轉(zhuǎn)、縮放等等,復(fù)雜動畫則是多個簡單動畫的組合

css實(shí)現(xiàn)動畫的方式,有如下幾種:

  • transition 實(shí)現(xiàn)漸變動畫
  • transform 轉(zhuǎn)變動畫
  • animation 實(shí)現(xiàn)自定義動畫

二、實(shí)現(xiàn)方式

transition 實(shí)現(xiàn)漸變動畫

transition的屬性如下:

  • property:填寫需要變化的css屬性
  • duration:完成過渡效果需要的時間單位(s或者ms)
  • timing-function:完成效果的速度曲線
  • delay: 動畫效果的延遲觸發(fā)時間
     

其中timing-function的值有如下:

描述
linear 勻速(等于 cubic-bezier(0,0,1,1))
ease 從慢到快再到慢(cubic-bezier(0.25,0.1,0.25,1))
ease-in 慢慢變快(等于 cubic-bezier(0.42,0,1,1))
ease-out 慢慢變慢(等于 cubic-bezier(0,0,0.58,1))
ease-in-out 先變快再到慢(等于 cubic-bezier(0.42,0,0.58,1)),漸顯漸隱效果
cubic-bezier(n,n,n,n) 在 cubic-bezier 函數(shù)中定義自己的值??赡艿闹凳?0 至 1 之間的數(shù)值

注意:并不是所有的屬性都能使用過渡的,如display:none<->display:block

舉個例子,實(shí)現(xiàn)鼠標(biāo)移動上去發(fā)生變化動畫效果

<style>
       .base {
            width: 100px;
            height: 100px;
            display: inline-block;
            background-color: #0EA9FF;
            border-width: 5px;
            border-style: solid;
            border-color: #5daf34;
            transition-property: width, height, background-color, border-width;
            transition-duration: 2s;
            transition-timing-function: ease-in;
            transition-delay: 500ms;
        }

        /*簡寫*/
        /*transition: all 2s ease-in 500ms;*/
        .base:hover {
            width: 200px;
            height: 200px;
            background-color: #5daf34;
            border-width: 10px;
            border-color: #3a8ee6;
        }
</style>
<div ></div>

transform 轉(zhuǎn)變動畫

包含四個常用的功能:

  • translate:位移
  • scale:縮放
  • rotate:旋轉(zhuǎn)
  • skew:傾斜

一般配合transition過度使用

注意的是,transform不支持inline元素,使用前把它變成block

舉個例子

<style>
    .base {
        width: 100px;
        height: 100px;
        display: inline-block;
        background-color: #0EA9FF;
        border-width: 5px;
        border-style: solid;
        border-color: #5daf34;
        transition-property: width, height, background-color, border-width;
        transition-duration: 2s;
        transition-timing-function: ease-in;
        transition-delay: 500ms;
    }
    .base2 {
        transform: none;
        transition-property: transform;
        transition-delay: 5ms;
    }

    .base2:hover {
        transform: scale(0.8, 1.5) rotate(35deg) skew(5deg) translate(15px, 25px);
    }
</style>
 <div ></div>

可以看到盒子發(fā)生了旋轉(zhuǎn),傾斜,平移,放大

animation 實(shí)現(xiàn)自定義動畫

animation是由 8 個屬性的簡寫,分別如下:

屬性 描述 屬性值
animation-duration 指定動畫完成一個周期所需要時間,單位秒(s)或毫秒(ms),默認(rèn)是 0  
animation-timing-function 指定動畫計(jì)時函數(shù),即動畫的速度曲線,默認(rèn)是 "ease" linear、ease、ease-in、ease-out、ease-in-out
animation-delay 指定動畫延遲時間,即動畫何時開始,默認(rèn)是 0  
animation-iteration-count 指定動畫播放的次數(shù),默認(rèn)是 1  
animation-direction 指定動畫播放的方向 默認(rèn)是 normal normal、reverse、alternate、alternate-reverse
animation-fill-mode 指定動畫填充模式。默認(rèn)是 none forwards、backwards、both
animation-play-state 指定動畫播放狀態(tài),正在運(yùn)行或暫停。默認(rèn)是 running running、pauser
animation-name 指定 @keyframes 動畫的名稱  

CSS 動畫只需要定義一些關(guān)鍵的幀,而其余的幀,瀏覽器會根據(jù)計(jì)時函數(shù)插值計(jì)算出來,

通過 @keyframes 來定義關(guān)鍵幀

因此,如果我們想要讓元素旋轉(zhuǎn)一圈,只需要定義開始和結(jié)束兩幀即可:

@keyframes rotate{
    from{
        transform: rotate(0deg);
    }
    to{
        transform: rotate(360deg);
    }
}

from 表示最開始的那一幀,to 表示結(jié)束時的那一幀

也可以使用百分比刻畫生命周期

@keyframes rotate{
    0%{
        transform: rotate(0deg);
    }
    50%{
        transform: rotate(180deg);
    }
    100%{
        transform: rotate(360deg);
    }
}

定義好了關(guān)鍵幀后,下來就可以直接用它了:

animation: rotate 2s;

三、總結(jié)

屬性 含義
transition(過度) 用于設(shè)置元素的樣式過度,和animation有著類似的效果,但細(xì)節(jié)上有很大的不同
transform(變形) 用于元素進(jìn)行旋轉(zhuǎn)、縮放、移動或傾斜,和設(shè)置樣式的動畫并沒有什么關(guān)系,就相當(dāng)于color一樣用來設(shè)置元素的“外表”
translate(移動) 只是transform的一個屬性值,即移動
animation(動畫) 用于設(shè)置動畫屬性,他是一個簡寫的屬性,包含6個屬性

以上就是CSS3常見動畫的實(shí)現(xiàn)方式的詳細(xì)內(nèi)容,更多關(guān)于CSS3 動畫的實(shí)現(xiàn)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • css3制作的背景漸變動畫效果

    這篇文章主要介紹了css3實(shí)現(xiàn)的加載動畫效果,幫助大家更好的利用css3制作網(wǎng)頁,感興趣的朋友可以了解下
    2021-04-07
  • css3實(shí)現(xiàn)的天氣圖標(biāo)動畫效果

    這篇文章主要介紹了css3實(shí)現(xiàn)的天氣圖標(biāo)動畫效果,幫助大家更好的利用css3制作網(wǎng)頁,感興趣的朋友可以了解下
    2021-04-06
  • 純CSS3精美3D卡片翻轉(zhuǎn)動畫特效

    這是一個純CSS3卡片翻轉(zhuǎn)動畫,點(diǎn)擊切換按鈕時,卡片就會以翻轉(zhuǎn)的動畫效果進(jìn)行切換,同時卡片上的裝飾物也會以淡入淡出和飛入飛出的動畫進(jìn)行切換,簡單唯美,歡迎下載
    2021-03-30
  • CSS3通過var()和calc()函數(shù)實(shí)現(xiàn)動畫特效

    這篇文章主要介紹了CSS3通過var()和calc()函數(shù)實(shí)現(xiàn)動畫特效,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-29
  • CSS3實(shí)現(xiàn)的六邊形波紋加載動畫特效源碼

    是一段基于CSS3實(shí)現(xiàn)的扁平的六邊形波紋圖形加載動畫效果代碼,同時還帶有LOADING字樣,是一種非常新鮮的頁面加載特效,歡迎有興趣的朋友前來下載使用
    2021-03-26
  • CSS3過渡旋轉(zhuǎn)透視2d3d動畫等效果的實(shí)例代碼

    這篇文章主要介紹了CSS3過渡旋轉(zhuǎn)透視2d3d動畫等效果的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-18
  • 純CSS3實(shí)現(xiàn)圓圈動態(tài)發(fā)光特效動畫的示例代碼

    這篇文章主要介紹了純CSS3實(shí)現(xiàn)圓圈動態(tài)發(fā)光特效動畫的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編
    2021-03-08
  • 鼠標(biāo)懸停圖文列表css3動畫特效代碼

    一款簡單好看的鼠標(biāo)懸停圖文列表css3動畫特效,案例展示列表布局效果,鼠標(biāo)懸停圖片時中間的圓形文字背景放大,非常不錯,喜歡的朋友快來下載體驗(yàn)吧
    2021-03-08
  • 純CSS3實(shí)現(xiàn)的人物飛行初始頁加載動畫特效源碼

    是一段基于純CSS3實(shí)現(xiàn)的簡單的人物飛行頁面加載動畫,有一種空中急速飛行的感覺,適應(yīng)所有網(wǎng)頁,歡迎有興趣的朋友前來下載使用
    2021-03-04

最新評論