翻译

基线 2022

新可用

2022 年 8 月起,此功能可在最新的设备和浏览器版本中使用。此功能可能无法在旧设备或浏览器中使用。

translate CSS 属性允许您单独且独立于 transform 属性指定平移变换。这更符合典型的用户界面用法,并节省了您记住要在 transform 值中指定的变换函数的精确顺序。

试试看

语法

css
/* Keyword values */
translate: none;

/* Single values */
translate: 100px;
translate: 50%;

/* Two values */
translate: 100px 200px;
translate: 50% 105px;

/* Three values */
translate: 50% 105px 5rem;

/* Global values */
translate: inherit;
translate: initial;
translate: revert;
translate: revert-layer;
translate: unset;

单个 <length-percentage>

一个 <length><percentage>,指定沿 X 轴的平移。等效于指定单个值的 translate()(2D 平移)函数。

两个 <length-percentage>

两个 <length><percentage>,分别指定 2D 平移的 X 和 Y 轴平移值。等效于指定两个值的 translate()(2D 平移)函数。

三个值

两个 <length-percentage> 和一个 <length> 值,分别指定 3D 平移的 X、Y 和 Z 轴平移值。等效于 translate3d()(3D 平移)函数。

指定不应应用任何平移。

正式定义

初始值
应用于可变换元素
继承
百分比引用边界框的大小
计算值如指定,但将相对长度转换为绝对长度
动画类型变换
创建 堆叠上下文

正式语法

translate = 
none |
<length-percentage> [ <length-percentage> <length>? ]?

<length-percentage> =
<length> |
<percentage>

示例

悬停时平移元素

此示例演示了如何使用 translate 属性在三个轴上移动元素。第一个框沿 X 轴移动,第二个框沿 X 和 Y 轴移动。第三个框沿 X、Y 和 Z 轴移动,并且由于在父元素中添加了 perspective,因此看起来像朝向查看者移动。

HTML

html
<div class="wrapper">
  <div id="box1">translate X</div>
  <div id="box2">translate X,Y</div>
  <div id="box3">translate X,Y,Z</div>
</div>

CSS

css
.wrapper {
  perspective: 100px;
  display: inline-flex;
  gap: 1em;
}
.wrapper > div {
  width: 7em;
  line-height: 7em;
  text-align: center;
  transition: 0.5s ease-in-out;
  border: 3px dotted;
}
#box1:hover {
  translate: 20px;
}

#box2:hover {
  translate: 20px 20px;
}

#box3:hover {
  translate: 5px 5px 30px;
}

结果

规范

规范
CSS 变换模块 Level 2
# individual-transforms

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅

注意:skew 不是独立的变换值