赞
踩
CSS3中的2D变换与3D变换是指通过transform
属性对HTML元素进行几何操作,使其在二维或三维空间中进行移动、旋转、缩放和倾斜等变换。这些变换为前端开发者提供了创建复杂动画和视觉效果的能力,丰富了网页设计的表现力。
2D变换是指在二维平面内对元素进行的几何操作。CSS3中的2D变换主要包括以下几种:
transform: translate(x, y);
transform: translate(50px, 100px);
将元素在水平方向移动50px,在垂直方向移动100px。
- 位移与相对定位很相似,都不脱离文档流,不会影响到其它元素。
- 与相对定位的区别:相对定位的百分比值,参考的是其父元素;定位的百分比值,参考的是
其自身。- 浏览器针对位移有优化,与定位相比,浏览器处理位移的效率更高。
- transform 可以链式编写,例如:
transform: translateX(30px) translateY(40px);
- 位移对行内元素无效。
- 位移配合定位,可实现元素水平垂直居中
2D 旋转是指:让元素在二维平面内,顺时针旋转或逆时针旋转,具体使用方式如下:
**值 ** | 含义 |
---|---|
rotate | 设置旋转角度,需指定一个角度值( deg ),正值顺时针,负值逆时针。 |
transform: rotate(angle);
transform: rotate(45deg);
将元素顺时针旋转45度。scale() - 缩放
先给元素添加 **转换属性 **transform
编写 transform 的具体值,相关可选值如下:
**值 ** | 含义 |
---|---|
scaleX | 设置水平方向的缩放比例,值为一个数字, 1 表示不缩放,大于 1 放大,小 |
于 1 缩小。 | |
scaleY | 设置垂直方向的缩放比例,值为一个数字, 1 表示不缩放,大于 1 放大,小 |
于 1 缩小。 | |
scale | 同时设置水平方向、垂直方向的缩放比例,一个值代表同时设置水平和垂直缩 |
放;两个值分别代表:水平缩放、垂直缩放。 |
transform: scale(sx, sy);
transform: scale(2, 1.5);
将元素在X轴方向缩放2倍,Y轴方向缩放1.5倍。transform: skew(ax, ay);
transform: skew(30deg, 20deg);
将元素在X轴方向倾斜30度,Y轴方向倾斜20度。transform: matrix(a, b, c, d, e, f);
transform: matrix(1, 0.5, 0.5, 1, 30, 20);
结合平移、缩放、旋转等效果的2D变换。3D变换是在三维空间内对元素进行的几何操作。相比2D变换,3D变换更加复杂,可以在Z轴(深度)上对元素进行操作。CSS3中的3D变换主要包括以下几种:
使用 transform-style 开启 3D 空间,可选值如下:
flat : 让子元素位于此元素的二维平面内( 2D 空间)—— 默认值
preserve-3d : 让子元素位于此元素的三维空间内( 3D 空间)
transform: translate3d(x, y, z);
transform: translate3d(50px, 100px, 200px);
将元素在X轴上移动50px,Y轴上移动100px,Z轴上移动200px。transform: rotateX(angle);
transform: rotateX(45deg);
将元素绕X轴旋转45度。transform: rotateY(angle);
transform: rotateY(45deg);
将元素绕Y轴旋转45度。transform: rotateZ(angle);
transform: rotateZ(45deg);
将元素绕Z轴旋转45度。transform: scale3d(sx, sy, sz);
transform: scale3d(2, 1.5, 1);
将元素在X、Y、Z方向分别缩放。perspective: distance;
perspective: 500px;
transform: rotateY(45deg);
为元素设置500px的视角,并将其绕Y轴旋转45度。
2D和3D变换为Web设计和开发提供了丰富的视觉效果。掌握这些变换技术,不仅能增强网页的互动性,还能为用户带来更直观、生动的体验。在实际应用中,可以将这些变换与CSS动画结合,创造出更加复杂和有趣的效果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。