Функция 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 и не может быть представлен с помощью матрицы в декартовых координатах. | |||
[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;
}
Результат
Спецификации
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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