手册
目录
收藏323
分享
阅读1000683
更新时间2025-08-27
CSS3 2D变换功能允许在2D空间中变换元素。
使用CSS3 2D变换功能,您可以对二维空间中的元素执行基本的变换操作,例如移动,旋转,缩放和倾斜。
变换后的元素不会影响周围的元素,但可以像绝对定位的元素一样将它们重叠。但是,变换后的元素在其默认位置(未变换)仍会在布局中占用空间。
CSS3 transform属性使用变换功能来操纵元素使用的坐标系,以便应用变换效果。
以下部分描述了这些转换函数:
沿X和Y轴将元素从当前位置移动到新位置。可以写成translate(tx, ty)。如果ty未指定,则假定其值为零。
img {
    -webkit-transform: translate(200px, 50px);  /* Chrome, Safari, Opera */
       -moz-transform: translate(200px, 50px);  /* Firefox */
        -ms-transform: translate(200px, 50px);  /* IE 9 */
            transform: translate(200px, 50px);      
}translate(200px, 50px)该功能将图像沿x轴正方向水平移动200个像素,并沿y轴垂直方向移动50个像素。
rotate(30deg)该功能将图像绕其原点沿顺时针方向旋转30度。您也可以使用负值来逆时针旋转元素。
scale(1.5)函数按比例将图像的宽度和高度缩放到其原始大小的1.5倍。 函数scale(1)或scale(1,1)对元素没有影响。
该函数skew(-40deg, 15deg)使元素沿x轴水平倾斜-40度,并使y轴垂直倾斜15度。
但是,一次执行多个转换时,使用单个转换函数并按顺序列出它们会更方便,如下所示:
img {
    -webkit-transform: translate(200px, 50px) rotate(180deg) scale(1.5) skew(0, 30deg);  /* Chrome, Safari, Opera */
       -moz-transform: translate(200px, 50px) rotate(180deg) scale(1.5) skew(0, 30deg);  /* Firefox */
        -ms-transform: translate(200px, 50px) rotate(180deg) scale(1.5) skew(0, 30deg);  /* IE 9 */
            transform: translate(200px, 50px) rotate(180deg) scale(1.5) skew(0, 30deg);      
}下表简要概述了所有2D转换功能。
| 功能 | 描述 | 
|---|---|
| translate(tx,ty) | 沿X和Y轴将元素移动给定的数量。 | 
| translateX(tx) | 沿X轴将元素移动指定的量。 | 
| translateY(ty) | 沿Y轴将元素移动指定的量。 | 
| rotate(a) | 根据transform-origin属性定义,以指定的角度围绕元素的原点旋转元素。 | 
| scale(sx,sy) | 按给定数量向上或向下缩放元素的宽度和高度。该功能scale(1,1)无效。 | 
| scaleX(sx) | 按给定数量向上或向下缩放元素的宽度。 | 
| scaleY(sy) | 按给定数量向上或向下缩放元素的高度。 | 
| skew(ax,ay) | 使元素沿X和Y轴倾斜给定角度。 | 
| skewX(ax) | 使元素沿X轴倾斜给定角度。 | 
| skewY(ay) | 使元素沿Y轴倾斜给定角度。 | 
| matrix(n,n,n,n,n,n) | 以包含六个值的转换矩阵的形式指定2D转换。 | 
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
							
							共5课时
17.2万人学习
							
							共49课时
77万人学习
							
							共29课时
61.7万人学习
							
							共25课时
39.3万人学习
							
							共43课时
70.9万人学习
							
							共25课时
61.6万人学习
							
							共22课时
23万人学习
							
							共28课时
33.9万人学习
							
							共89课时
125万人学习