日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

css3动画模块transform transition animation属性解释

發布時間:2025/4/16 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 css3动画模块transform transition animation属性解释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先來看下對各大瀏覽器的兼容性

?IEFirefoxSafariChromeOpera
CSS 2D Transformno3.53.22.010.5
CSS 3D Transformnono4.* (Mac)nono
Transitionno3.73.22.010.5
Animationnono4.02.0no

transform

這個比較簡單,控制元素進行平面上的二維變換,有三個屬性:

1. 旋轉 rotate()。對元素按順時針或逆時針方向進行旋轉,其值為正數時,表示按順時針方向旋轉,其值為負數時,表示按逆時針方向旋轉。單位為度數(deg)。例如:

? ?ps:旋轉屬性可以實現那種常見的三角的tips效果。把一個正方形旋轉45度就變成◆了,自己試試吧

2. 偏斜?skew(x,y)。有兩個參數,第一個表示按x軸方向傾斜的度數,第二個是y軸的度數。主要的區別是,x軸的值若為正數,表示逆時針偏斜,若為負數,表示順時針偏斜;而y軸的值跟x軸的剛好相反,正為順,負為逆。

3. 平移?translate(x,y)。平移是一種利用x和y坐標值(單位為px)定位元素的方式,注意這個跟position的定位不一樣,它參照的位置是它本身,但position參照的是父級。

transform:rotate(45deg); /*順時針旋轉45度*/ transform:rotate(-45deg); /*逆時針旋轉45度*/transform:skew(30deg,10deg); /*在x軸方向逆時針偏斜30度,在y軸方向順時針偏斜10度*/transform:translate(10px,15px); /*向左移動10px,向下移動15px*//*多個transform類型的設置可以寫一起的,之間用空格分隔,例如上面的可以這樣寫:*/ transform:rotate(45deg) skew(30deg,10deg) translate(10px,15px)

?transition

官方的解釋是“允許CSS的屬性值在一定的時間區間內平滑地過渡。這種效果可以在鼠標單擊、獲得焦點、被點擊或者對元素的任何改變中觸發,并以圓滑的動畫效果改變CSS的屬性值”。比如原來的背景是#fff,hover時是#000,如果用了transition,就是從#fff平滑過渡成#000(發揮自己的想象力想一下吧)。

transition可以分解成4個屬性:

1. transtion-property 用于指定哪些屬性值改變時顯示transition動畫效果。none表示沒有,all表示所有,或者用逗號分隔需要指定的屬性,如transition-property: background,width,height.

2. transition-duration 表示動畫持續時間,可以設置多個值,中間用逗號分隔,其中每個值對應transition-perproty設置的每個屬性。例如:

?

transition-perproty: width,height; transition-duration:1s,0.5s /*表示寬度的轉換動畫持續的時間為1s,高度轉換動畫持續的時間為0.5s*/

?

3. transition-timing-function 表示轉換動畫的效果,有多個值可以選擇:

  1)Linear 指定一個線性漸變

  2)ease 指定一個逐漸慢下來的動畫

  3)ease-in 指定一個先慢后快的漸變動畫

  4)ease-out 指定一個先快后慢的漸變動畫

  5)ease-in-out 指定一個先慢后快再慢的漸變動畫

  6)cubic-bezier 使用貝塞爾曲線來指定一個復雜的動畫漸變效果(這個效果很不錯,可以做比較復雜的效果,附帶一個制作效果的網站:http://matthewlein.com/ceaser/)

4. transtion-delay 指定在動畫開始前等待的時間,不需要時可以省略。

animation

animation比transition更接近動畫的含義,可以為animation設置多幀的效果,然后把這些幀組合、變換,按動畫效果顯示出來。共有6個屬性,在了解它的屬性之前,首先有必要先熟悉一下關鍵幀keyframes這個屬性。

keyframes 從字面上看,keyframes表示關鍵幀的意思。在flash里面也存在這個概念,我們可以想想一張gif動畫由一幀一幀的圖像組成。在CSS3里,我們用keyframes描述第一幀的效果,用animation描述每一幀如何組合在一起以及表現的效果。格式如下:

?

@keyframes 動畫標識名{ /*動畫標識名將被animation-name屬性所引用*//*每一幀的動畫效果,可以通過百分比數值加樣式的形式來定義*/0%{background-color: white;}50%{background-color: red;} 100%{background-color: black; } }
/*我們可以把百分比數值看做第一幀在動畫中時間軸的位置,0%在時間軸的開始,50%在時間軸的正中,100%在時間軸的終點。那以上的動畫效果就是,元素的背景顏色會從白色漸變成紅色,再從紅色漸變成黑色。0%和100%也可以分別用form和to來代替*/
@keyframes 動畫標識名{from{background-color: white;}50%{background-color: red;} to{background-color: black; } }

?屬性:

1. animation-name 此屬性指定動畫應對的keyframes,比如設置animation-name為loading,那么動畫就對應@keyframes loading所聲明的關鍵幀。如果沒有定義關鍵幀,動畫將不會生效。

2. animation-duration 定義一次動畫的持續時間,默認值為0

3. animation-delay 定義從觸發到開始動畫的時間

4.?animation-timing-function 定義動畫顯示的效果,例如先快后慢,先慢后快等,屬性值與transition-timing-function相同

5.?animation-iteration-count 該屬性定義動畫循環的次數,默認為1。我們可以用infinite來使動畫無限次循環,這是transition動畫所無法支持的。

6. animation-direction 定義動畫播放的方向,默認值為normal,代表每次動畫都向前播放。另外一個值是alternate,第偶數次動畫向前播放,第奇數次逆向播放。

?

要注意在寫以上的屬性時,都要根據不同的瀏覽器加上前綴,-webkit-,-o-,-ms-,-moz-

附帶相關鏈接:

http://www.w3cplus.com/content/css3-transform(transform)

http://www.cnblogs.com/lianjun/archive/2011/09/30/2196912.html(transition)

http://www.cnblogs.com/lianjun/archive/2011/10/07/2200315.html(animation)

總結

以上是生活随笔為你收集整理的css3动画模块transform transition animation属性解释的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。