1. 程式人生 > 其它 >transition和transform的區別

transition和transform的區別

1、translate:移動,transform的一個方法

通過 translate() 方法,元素從其當前位置移動,根據給定的 left(x 座標) 和 top(y 座標) 位置引數:

用法transform: translate(50px, 100px);

-ms-transform: translate(50px,100px);

-webkit-transform: translate(50px,100px);

-o-transform: translate(50px,100px);

-moz-transform: translate(50px,100px);

2、transform:變形。改變

屬性定義及使用說明

Transform屬性應用於元素的2D或3D轉換,整數型允許你將元素旋轉,縮放,移動傾斜等。

JavaScript語法: object.style.transform="rotate(7deg)"

CSS3中主要包括

旋轉:rotate() 順時針旋轉給定的角度,允許負值 rotate(30deg)

扭曲:skew() 元素翻轉給定的角度,根據給定的水平線(X 軸)和垂直線(Y 軸)引數:skew(30deg,20deg)

縮放:scale() 放大或縮小,根據給定的寬度(X 軸)和高度(Y 軸)引數: scale(2,4)

移動:translate() 平移,傳進 x,y值,代表沿x軸和y軸平移的距離

所有的2D轉換方法組合在一起: matrix() 旋轉、縮放、移動以及傾斜元素

matrix(scale.x ,, , scale.y , translate.x, translate.y)

改變起點位置 transform-origin: bottom left;

3、transition: 允許CSS屬性值在一定的時間區間內平滑的過渡,需要事件的觸發,例如單擊、獲取焦點、失去焦點等

transition:property duration timing-function delay;

property:CSS的屬性,例如:width height 為none時停止所有的運動,可以為transform

duration:持續時間

timing-function:ease等

delay:延遲

注意:當property為all的時候所有動畫

例如:transition:width 2s ease 0s;

一、區分容易混淆的幾個屬性和值
先區分一下css中的幾個屬性:animation(動畫)、transition(過渡)、transform(變形)、translate(移動)。

CSS3中的transform(變形)屬性用於內聯元素和塊級元素,可以旋轉、扭曲、縮放、移動元素,它的屬性值有以下五個:旋轉rotate、扭曲skew、縮放scale和移動translate以及矩陣變形matrix;

transform(變形)是CSS3中的元素的屬性,而translate只是transform的一個屬性值;transform是transition(過渡動畫)的transition-property的一個屬性值。

animation(動畫)、transition(過渡)是css3中的兩種動畫屬性。animation強調流程與控制,對元素的一個或多個屬性的變化進行控制,可以有多個關鍵幀(animation 和@ keyframes結合使用);

transition強調過渡,是元素的一個或多個屬性發生變化時產生的過渡效果,同一個元素通過兩個不同的途徑獲取樣式,而第二個途徑當某種改變發生(例如hover)時才能獲取樣式,這樣就會產生過渡動

畫。可以認為它有兩個關鍵幀(Transition + Transform = 兩個關鍵幀的Animation)。