Spec-Zone.ru › CSS

translate()

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

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

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

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

Попробовать

Эта трансформация характеризуется двумерным вектором [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 и не может быть представлено матрицей декартовых координат.

( 1 0 tx 0 1 ty 0 0 1 ) \left( \begin{array}{ccc} 1 & 0 & tx \\ 0 & 1 & ty \\ 0 & 0 & 1 \end{array} \right)
( 1 0 tx 0 1 ty 0 0 1 ) \left( \begin{array}{ccc} 1 & 0 & tx \\ 0 & 1 & ty \\ 0 & 0 & 1 \end{array} \right)
( 1 0 0 tx 0 1 0 ty 0 0 1 0 0 0 0 1 ) \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(<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;
}

Результат

END_OF_DOCUMENT_MARKER

Комбинирование смещения по оси 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 Module Level 1
# funcdef-transform-translate

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

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

См. также

  • transform
  • <transform-function>
  • translate

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

Spec-Zone.ru

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