原森情報技術研究所 WEBコンテンツ企画・制作・運営・サポート / 兵庫県 神戸市 明石市 /

2D変形を行列で指定

matrix / 2D変形を行列で指定

matrix指定と通常指定の比較

例1

テスト1

translate(50px,10px)

matrix (1,0,0,1,50,10)

matrix (1.5,0,0,0.5,0,0)

matrix (1,0,1,1,0,0)

サンプル例1の内容

【例1】3つの例はCSSであらかじめ用意し、javascriptで表示非表示や、cssの変更等をしています。
ここでは通常記述した影BOXとmatrixで記述した黄色BOXを比較しています。
普通に両方変更すれば重なるだけなので、黄色い方は親枠にマウスホバーで、matrix指定した状態へと変化する形にしています。

matrix(1,0,0,1,50,10) X軸方向の移動距離 50 。Y軸方向の移動距離 10 。 = translate(50px,10px)
matrix(1.5,0,0,0.5,0,0) X軸方向の拡大縮小率 1.5 。Y軸方向の拡大縮小率 0.5 。 = scale(1.5,0.5)
matrix (1,0,1,1,0,0) X軸方向の傾斜角度 1 。Y軸方向の傾斜角度 0 。 = skewX(45deg)。

2D変形を行列で指定プロパティ

matrix(xr,dy,dx,yr,xt,yt)
行列(3*3)
xr,dx,xt
dy,yr,yt
0, 0, 1
xr=X軸方向の拡大縮小率。yr=Y軸方向の拡大縮小率。
dx=X軸方向の傾斜角度。dy=Y軸方向の傾斜角度。
xt=X軸方向の移動距離。yt=Y軸方向の移動距離。
matrix(1,0,0,1,0,0)で変形なし状態。この状態から変形させたい数値等を入力 行列(3*3)
1,0,0
0,1,0
0,0,1
角度は度数法 (degree) ではなく弧度法 (radian) で指定。
例:90deg の場合、90 * π / 180 = 1.570796325 [rad]
top > css3研究 > 
2D変形を行列で指定

表示位置移動

translate(x) / x…[length]
translate(x,y) / x,y…[length]
translate(x) = translate(x,x)

translate3d(x,y,z) / x,y,z…[length]

translateX(x) / x…[length]
translateX(x) = translate(x,0)

translateY(y) / y…[length]
translateY(y) = translate(0,y)

translateZ(z) / z…[length]
translateZ(z) = translate3d(0,0,z)

拡大・縮小

scale(x) / x…[数量]
scale(x,y) / x,y…[数量]
scale(x) = scale(x,x)

scale3d(x,y,z) / x,y,z…[数量]

scaleX(x) / x…[数量]
scaleX(x) = scale(x,1) = scale3d(x,1,1)

scaleX(x) / x…[数量]
scaleX(x) = scale(x,1) = scale3d(x,1,1)

scaleY(y) / y…[数量]
scaleY(y) = scale(1,y) = scale3d(1,y,1)

scaleZ(z) / z…[数量]
scaleZ(z) = scale3d(1,1,z)

回転

rotate(a) / a…[角度]
aが正の値なら時計回り

rotate3d(x,y,z,a) / x,y,z…[数量] a…[角度]

rotateX(a) / a…[角度]
rotateX(a) = rotate3d(1,0,0,a)

rotateY(a) / a…[角度]
rotateY(a) = rotate3d(0,1,0,a)

rotateZ(a) / a…[角度]
rotateZ(a) = rotate3d(0,0,1,a)

傾斜変形

skew(ax [,ay]) / ax,ay…[角度]
ay省略時はaxのみの変形。※skewは非標準となった

skewX(a) / a…[角度]

skewY(a) / a…[角度]

行列指定

matrix(a , c , b , d , tx , ty)
線形 transform a , b , c , d …[数量](Gecko系のみlength可) 移動量 tx , ty …[length]

matrix3d(a1 , b1 , c1 , d1 , a2 , b2 , c2 , d2 , a3 , b3 , c3 , d3 , a4 , b4 , c4 , d4)
線形 transform a1 , b1 , c1 , d1 , a2 , b2 , c2 , d2 , a3 , b3 , c3 , d3 , d4 …[数量] 移動量 a4 , b4 , c4 …[length]

カテゴリMENU
お問い合せ