Spec-Zone.ru › CSS

Функция CSS `translate()`

Базовая поддержка Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с сентября 2015 года.

translate() CSS функция перемещает элемент по горизонтали и/или вертикали. Результатом является тип данных <transform-function>.

Попробуйте

transform: translate(0);
transform: translate(42px, 18px);
transform: translate(-2.1rem, -2ex);
transform: translate(3ch, 3mm);
<section id="default-example">
  <img
    class="transition-all"
    id="static-element"
    src="/shared-assets/images/examples/firefox-logo.svg"
    width="200" />
  <img
    class="transition-all"
    id="example-element"
    src="/shared-assets/images/examples/firefox-logo.svg"
    width="200" />
</section>
#static-element {
  opacity: 0.4;
  position: absolute;
}

#example-element {
  position: absolute;
}

Это преобразование описывается двумерным вектором [tx, ty]. Его координаты определяют, насколько перемещается элемент в каждом направлении.

Синтаксис

/* Single <length-percentage> values */
transform: translate(200px);
transform: translate(50%);

/* Double <length-percentage> values */
transform: translate(100px, 200px);
transform: translate(100px, 50%);
transform: translate(30%, 200px);
transform: translate(30%, 50%);

Значения

Одно значение <length-percentage>
Это значение представляет собой <length> или <percentage>, задающее абсциссу (горизонтальную координату, компоненту x) вектора перемещения [tx, 0]. Ордината (вертикальная координата, компонента y) вектора перемещения устанавливается в 0. Например, translate(2px) эквивалентно translate(2px, 0). Значение в процентах относится к ширине опорного блока, заданного свойством transform-box.
Два значения <length-percentage>
Это значение задаёт два значения <length> или <percentage>, представляющие абсциссу (горизонтальную координату, компоненту x) и ординату (вертикальную координату, компоненту y) вектора перемещения [tx, ty]. Если процентное значение указано первым, оно относится к ширине, а если вторым — к высоте опорного блока, заданного свойством transform-box.
Декартовы координаты в ℝ^2 Однородные координаты в ℝℙ^2 Декартовы координаты в ℝ^3 Однородные координаты в ℝℙ^3

Перенос не является линейным преобразованием в ℝ^2 и не может быть представлен с помощью матрицы в декартовых координатах.

(10tx01ty001)\left( \begin{array}{ccc} 1 & 0 & tx \\ 0 & 1 & ty \\ 0 & 0 & 1 \end{array} \right) (10tx01ty001)\left( \begin{array}{ccc} 1 & 0 & tx \\ 0 & 1 & ty \\ 0 & 0 & 1 \end{array} \right) (100tx010ty00100001)\left( \begin{array}{cccc} 1 & 0 & 0 & tx \\ 0 & 1 & 0 & ty \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)
[1 0 0 1 tx ty]

Формальный синтаксис

<translate()> = 
  translate( <length-percentage> , <length-percentage>? )

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

Примеры

Использование переноса по одной оси

HTML

<div>Static</div>
<div class="moved">Moved</div>
<div>Static</div>

CSS

div {
  width: 60px;
  height: 60px;
  background-color: skyblue;
}

.moved {
  /* Equal to: translateX(10px) or translate(10px, 0) */
  transform: translate(10px);
  background-color: pink;
}

Результат

Сочетание переноса по осям y и x

HTML

<div>Static</div>
<div class="moved">Moved</div>
<div>Static</div>

CSS

div {
  width: 60px;
  height: 60px;
  background-color: skyblue;
}

.moved {
  transform: translate(10px, 10px);
  background-color: pink;
}

Результат

Спецификации

Спецификация
Модуль CSS Transforms, уровень 1
# funcdef-transform-translate

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
translate
1
12
3.5
10.5
3.1
18
4
11
3.2
1.0
2
3.2

См. также

  • transform
  • <transform-function>
  • translate

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/transform-function/translate

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API