學習記錄 CSS 動畫簡單使用

2021-10-09 09:33:43 字數 1717 閱讀 9335

之前我基本都沒用過動畫,一般都用canvas做一些畫圖之類的。在前幾次的vilin開發中,有過幾個動畫效果的需求,於是我學習了一下css的動畫,這裡簡單記錄一下。

css動畫的特點就是簡單,通過 css3建立的動畫可以取代動畫、flash以及 js等。

動畫顧名思義可以動的圖畫,而這個「動」指的就是我們常見的影象變換:平移、旋轉、放大、縮小,另外還包括顏色的變化:顏色加深變淺等。css裡主要通過animation來實現元素的動畫。

影象變換

用style裡的transform屬性來實現影象變換,然後通過animation屬性來使元素動起來。

(1)translatex(x):沿x軸平移;

(2)translatey(y): 沿y軸平移;

乙個引數時:表示水平和垂直同時縮放該倍率

兩個引數時:第乙個引數指定水平方向的縮放倍率,第二個引數指定垂直方向的縮放倍率。

(1)skewx(x):使元素在水平方向傾斜(x軸傾斜);

(2)skewy(y):使元素在垂直方向傾斜(y軸傾斜);

(3)skew(x,y):使元素在水平方向和垂直方向同時傾斜(x軸和y軸同時傾斜);

顏色變化

直接通過color(或者background等)和opacity屬性就可以控制顏色變化了。

用transition直接實現動畫

以下**使class為ani-test的元素在hover時向右平移500px,向下平移300px,縮小為原來的0.3,並旋轉45度,同時背景變為綠色。關於transition的具體使用可以看看這兒:

.ani-test 

.ani-test:hover

用@keyframes 規則實現動畫

@keyframes 規則用於建立動畫。在 @keyframes 中規定某項 css 樣式,就能建立由當前樣式逐漸改為新樣式的動畫效果。keyframe顧名思義關鍵幀,就是註明關鍵幀的資訊,例如下例中的0%、25%就是指動畫執行到0%、25%時元素的部分style屬性。將下例實驗一下就很容易理解了,我就不再贅述了。

@keyframes myfirst25%

50%75%

100%

}@-moz-keyframes myfirst /* firefox */25%

50%75%

100%

}@-webkit-keyframes myfirst /* safari 和 chrome */25%

50%75%

100%

}@-o-keyframes myfirst /* opera */25%

50%75%

100%

}div

具體實踐

雲視訊官網 首頁通知。在這個需求裡我用css加js完成了動畫效果,最後用scalajs去間接使用movenotice這個函式。

css部分**:to}

to}to}

to}to}

to}js部分**:

function

movnotice

(flag)

,500);

}else

}}

scalajs引用:

參考:

CSS動畫學習

size large b 1.參考鏈結 b size url size large b 2.動畫內容 b size css3動畫的屬性主要分為三類 transform transition以及animation。因為css3還沒有正式發布,所以各種瀏覽器對它的支援也不盡相同。所以在設定css3屬性 ...

css簡單動畫(transition屬性)

使用box shadow畫赤橙黃綠藍靛紫7個弧形,拼接在一起 after偽元素寫投影樣式 彩虹和投影都有動畫 dom結構 用兩個巢狀的div容器,父容器來控制圖示顯示的位置,子容器用來寫彩虹的樣式。css樣式 1 定義父容器樣式,控制圖示位置,順便給整個頁面加個背景色,方便預覽 複製 body co...

CSS3簡單動畫

css3的動畫確實非常絢麗!瀏覽器相容性很重要!分享兩個小動畫 doctype html html lang en head meta charset utf 8 meta name generator content editplus meta name author content meta n...