菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP How To W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

CSS 教程

CSS 主页 CSS 简介 CSS 语法 CSS 选择器 CSS 如何做 CSS 注释 CSS 颜色 CSS 背景 CSS 边框 CSS 外边距 CSS 内边距 CSS 高度/宽度 CSS 盒模型 CSS 轮廓 CSS 文本 CSS 字体 CSS 图标 CSS 链接 CSS 列表 CSS 表格 CSS Display CSS Max-width CSS Position CSS Z-index CSS Overflow CSS Float CSS Inline-block CSS Align CSS 组合器 CSS 伪类 CSS 伪元素 CSS 透明度 CSS 导航栏 CSS 下拉菜单 CSS 图片库 CSS 图片精灵 CSS 属性选择器 CSS 表单 CSS 计数器 CSS 网站布局 CSS 单位 CSS 特异性 CSS !important CSS 数学函数

CSS 高级

CSS 圆角 CSS 边框图片 CSS 背景 CSS 颜色 CSS 颜色关键字 CSS 渐变 CSS 阴影 CSS 文本效果 CSS Web 字体 CSS 2D 变换 CSS 3D 变换 CSS 过渡 CSS 动画 CSS 工具提示 CSS 样式图片 CSS 图片反射 CSS object-fit CSS object-position CSS 遮罩 CSS 按钮 CSS 分页 CSS 多列 CSS 用户界面 CSS 变量 CSS @property CSS 盒尺寸 CSS 媒体查询 CSS MQ 示例 CSS Flexbox

CSS 响应式

RWD 简介 RWD 视口 RWD 网格视图 RWD 媒体查询 RWD 图片 RWD 视频 RWD 框架 RWD 模板

CSS 网格

网格简介 网格容器 网格项

CSS SASS

SASS 教程

CSS 示例

CSS 模板 CSS 示例 CSS 编辑器 CSS 片段 CSS 测验 CSS 练习 CSS 网站 CSS 面试准备 CSS 训练营 CSS 证书

CSS 参考手册

CSS 参考 CSS 选择器 CSS 函数 CSS 参考 (听觉) CSS 网页安全字体 CSS 可动画属性 CSS 单位 CSS PX 到 EM 转换器 CSS 颜色 CSS 颜色值 CSS 默认值 CSS 浏览器支持

CSS 2D 变换


CSS 2D 变换

CSS 变换允许你移动、旋转、缩放和倾斜元素。

将鼠标悬停在下面的元素上,查看 2D 变换效果

2D 旋转

在本章中,你将学习以下 CSS 属性

  • 转换

浏览器支持

表中的数字指定了完全支持该属性的第一个浏览器版本。

属性
转换 36.0
10.0
16.0
9.0
23.0

CSS 2D 变换方法

使用 CSS transform 属性,你可以使用以下 2D 变换方法

  • translate()
  • rotate()
  • scaleX()
  • scaleY()
  • scale()
  • skewX()
  • skewY()
  • skew()
  • matrix()

提示:你将在下一章学习 3D 变换。


translate() 方法

Translate

translate() 方法根据给定的 X 轴和 Y 轴参数,将元素从当前位置移动。

以下示例将 <div> 元素向右移动 50 像素,并向下移动 100 像素,相对于其当前位置:

示例

div {
  transform: translate(50px, 100px);
}
自己动手试一试 »

rotate() 方法

Rotate

rotate() 方法根据给定的角度,顺时针或逆时针旋转元素。

以下示例将 <div> 元素顺时针旋转 20 度:

示例

div {
  transform: rotate(20deg);
}
自己动手试一试 »

使用负值将使元素逆时针旋转。

以下示例将 <div> 元素逆时针旋转 20 度:

示例

div {
  transform: rotate(-20deg);
}
自己动手试一试 »


scale() 方法

Scale

scale() 方法根据给定的宽度和高度参数,增加或减小元素的大小。

以下示例将 <div> 元素的宽度增加到原始宽度的两倍,高度增加到原始高度的三倍: 

示例

div {
  transform: scale(2, 3);
}
自己动手试一试 »

以下示例将 <div> 元素的宽度和高度减小到原来的一半: 

示例

div {
  transform: scale(0.5, 0.5);
}
自己动手试一试 »

scaleX() 方法

scaleX() 方法增加或减小元素的宽度。

以下示例将 <div> 元素的宽度增加到其原始宽度的两倍: 

示例

div {
  transform: scaleX(2);
}
自己动手试一试 »

以下示例将 <div> 元素的宽度减小到其原始宽度的一半: 

示例

div {
  transform: scaleX(0.5);
}
自己动手试一试 »

scaleY() 方法

scaleY() 方法增加或减小元素的高度。

以下示例将 <div> 元素的高度增加到其原始高度的三倍: 

示例

div {
  transform: scaleY(3);
}
自己动手试一试 »

以下示例将 <div> 元素的高度减小到其原始高度的一半: 

示例

div {
  transform: scaleY(0.5);
}
自己动手试一试 »

skewX() 方法

skewX() 方法沿 X 轴按给定角度倾斜元素。

以下示例将 <div> 元素沿 X 轴倾斜 20 度:

示例

div {
  transform: skewX(20deg);
}
自己动手试一试 »

skewY() 方法

skewY() 方法沿 Y 轴按给定角度倾斜元素。

以下示例将 <div> 元素沿 Y 轴倾斜 20 度:

示例

div {
  transform: skewY(20deg);
}
自己动手试一试 »

skew() 方法

skew() 方法沿 X 和 Y 轴按给定角度倾斜元素。

以下示例将 <div> 元素沿 X 轴倾斜 20 度,沿 Y 轴倾斜 10 度:

示例

div {
  transform: skew(20deg, 10deg);
}
自己动手试一试 »

如果未指定第二个参数,则其值为零。因此,以下示例将 <div> 元素沿 X 轴倾斜 20 度:

示例

div {
  transform: skew(20deg);
}
自己动手试一试 »

matrix() 方法

Rotate

matrix() 方法将所有 2D 变换方法组合在一起。

matrix() 方法接受六个参数,包含数学函数,允许你旋转、缩放、移动(平移)和倾斜元素。

参数如下:matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY())

示例

div {
  transform: matrix(1, -0.3, 0, 1, 0, 0);
}
自己动手试一试 »

通过练习来测试自己

练习

使用 transform 属性,将 <div> 元素向右移动 100 像素,向下移动 200 像素。

<style>
div {
  width: 100px;
  height: 100px;
  background-color: lightblue;
  border: 1px solid black;
  : ;
}
</style>

<body>
  <div>This is a div</div>
</body>

开始练习


CSS 变换属性

下表列出了所有 2D 变换属性

属性 描述
转换 对元素应用 2D 或 3D 变换
transform-origin 允许您更改变换元素上的位置

CSS 2D 变换方法

函数 描述
matrix(n,n,n,n,n,n) 使用六个值的矩阵定义 2D 变换
translate(x,y) 定义一个 2D 平移,沿 X 轴和 Y 轴移动元素
translateX(n) 定义一个 2D 平移,沿 X 轴移动元素
translateY(n) 定义一个 2D 平移,沿 Y 轴移动元素
scale(x,y) 定义一个 2D 缩放变换,改变元素的宽度和高度
scaleX(n) 定义一个 2D 缩放变换,改变元素的宽度
scaleY(n) 定义一个 2D 缩放变换,改变元素的高度
rotate(角度) 定义 2D 旋转,角度在参数中指定
skew(x-angle,y-angle) 定义沿 X 轴和 Y 轴的 2D 倾斜变换
skewX(角度) 定义沿 X 轴的 2D 倾斜变换
skewY(角度) 定义沿 Y 轴的 2D 倾斜变换

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持