25、CSS3 2D转换
使用 transform 属性,实现图形的转换,包括旋转、平移、缩放、倾斜。
- 平移:translate(x, y)、translateX(x)、translateY(y)
- 旋转:rotate(angle)
- 缩放:scale(n1, n2)、scaleX(n)、scaleY(n)
- 倾斜:skew(angle1,angle2)、skewX(angle)、skewY(angle)
<font color = red>1) translate() 方法</font>
通过 translate() 方法,元素从其当前位置移动。
根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数改变元素的坐标位置。
<font color = red>2) rotate() 方法</font>
通过 rotate() 方法,元素顺时针旋转给定的角度。
正值,元素顺时针旋转;允许负值,元素将逆时针旋转。
<font color = red>3) scale() 方法</font>
通过 scale() 方法,元素的尺寸会增加或减少。
根据给定的宽度(X 轴)和高度(Y 轴)参数调整元素的尺寸大小。
<font color = red>4) skew() 方法</font>
通过 skew() 方法,元素翻转给定的角度。
根据给定的水平线(X 轴)和垂直线(Y 轴)参数翻转元素角度。
<font color = red>5) matrix() 方法</font>
matrix() 方法为简写属性,把所有 2D 转换方法组合在一起。
matrix() 方法需要六个参数,包含数学函数,允许您:旋转、缩放、移动以及倾斜元素
<font color = red>6) CSS3 transform-origin 属性</font>
语法:transform-origin: x-axis y-axis z-axis;
例
<!DOCTYPE html> <html> <head> <title>CSS</title> <style> div { width: 300px; height: 60px; } #div1{ background: #f00; transform: translateX(50px) skewX(-20deg); } #div2{ background: #0f0; transform-origin: 100% 0%; transform: translate(150px,20px) rotate(-15deg) scale(1.5); } #div3{ background: #0cf; transform: matrix(0.866,0.5,-0.5,0.866,0,0); } </style> </head> <body> <div id="div1">Hello World1</div><br> <div id="div2">Hello World2</div><br> <div id="div3">Hello World3</div><br> </body> </html>
页面显示效果如下:
![ ](https://uploadfiles.nowcoder.com/images/20200603/171901592_1591171036169_DC2D36CBF71FD77F87ACE96ACE19B349 "图片标题")