JS властивість CSSStyleDeclaration.transform


Загальний опис

element.style.transform - це властивість, яка дозволяє застосовувати різні трансформації до елементів, такі як переміщення, обертання, масштабування або нахил. Властивість приймає рядок, що описує одну або кілька трансформацій, які необхідно застосувати до елемента.

Для роботи з властивістю element.style.transform вам потрібно спочатку отримати доступ до потрібного елемента в DOM. Це можна зробити за допомогою методів вибору елементів, таких як document.getElementById або document.querySelector.

Приклад:

let element = document.getElementById('myElement');
element.style.transform = 'translateX(50px)';

У цьому прикладі елемент з ідентифікатором myElement буде зміщений на 50 пікселів вправо. translateX - це одна з багатьох функцій трансформації, яку можна використовувати з element.style.transform.

Декілька інших функцій трансформації, які ви можете використовувати, включають:

  • translateY(value) - зміщує елемент вертикально.
  • rotate(angle) - обертає елемент на заданий кут.
  • scaleX(factor) - масштабує елемент по горизонталі.
  • scaleY(factor) - масштабує елемент по вертикалі.
  • skewX(angle) - нахиляє елемент по горизонталі.
  • skewY(angle) - нахиляє елемент по вертикалі.

Ви також можете комбінувати декілька трансформацій у одному рядку, розділяючи їх пробілами:

let element = document.getElementById('myElement');
element.style.transform = 'translateX(50px) rotate(45deg)';

У цьому прикладі елемент буде спочатку зміщений на 50 пікселів вправо, а потім обернеться на 45 градусів.

Трансформації можуть бути дуже корисними для створення анімацій. Ви можете використовувати їх разом з CSS-транзиціями або JavaScript для плавних ефектів. Наприклад:

let element = document.getElementById('myElement');
element.style.transition = 'transform 0.5s ease-in-out';
element.style.transform = 'scale(1.5)';

У цьому прикладі елемент плавно збільшиться в 1.5 рази протягом 0.5 секунди.

Також варто зазначити, що трансформації застосовуються до елемента без впливу на його розташування в потоці документа. Це означає, що трансформований елемент не вплине на інші елементи навколо нього.

Важливо правильно використовувати одиниці вимірювання та кути в функціях трансформації. Наприклад, для обертання використовуйте градуси (deg), а для масштабування - числові значення.

element.style.transform є потужним інструментом для розробки інтерактивних та динамічних веб-сторінок. Він дозволяє легко змінювати вигляд та поведінку елементів, роблячи ваші веб-додатки більш привабливими та зручними для користувачів.

автор: Bond

Порада

Використовуйте функцію requestAnimationFrame для плавної анімації. Це дозволяє створювати анімації, що добре інтегруються з частотою оновлення дисплея, забезпечуючи плавність і ефективність. Такі анімації виглядають більш природно і зменшують навантаження на процесор.

автор: Bond
Порада

Не забувайте про GPU-акселерацію при застосуванні трансформацій. Додавання трансформацій, таких як translateZ(0) або scaleZ(1), може допомогти браузеру використовувати апаратне прискорення, що покращить продуктивність. Це особливо важливо для складних або численних трансформацій, які можуть вплинути на швидкість роботи веб-сторінки.

автор: Bond
Порада

Застосовуйте 3D-трансформації для створення глибини і перспективи. Використовуйте функції, такі як rotateX, rotateY та translateZ, щоб додати вражаючі візуальні ефекти в 3D-просторі. Це може значно покращити візуальну привабливість ваших веб-додатків.

автор: Bond

Синтаксис

element.style.transform

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1 3 8 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
- -

Приклади

+ запропонувати свій приклад у пісочниці

Цей приклад демонструє, як створити ефект перевертання картки на 180 градусів по осі Y при натисканні. Це корисно для створення інтерактивних елементів, таких як ігрові картки або картки з інформацією, які перевертаються, щоб показати зворотну сторону при взаємодії користувача.

HTML

<div id="card">Демонстраційний елемент</div>

JS

let element = document.getElementById('card');
element.style.transition = 'transform 0.5s';
element.style.transform = 'rotateY(180deg)';
автор: Bond

Цей приклад демонструє складну трансформацію, де елемент спочатку зміщується на 100 пікселів вправо і 200 пікселів вниз, а потім збільшується в 1.5 рази. Це корисно для створення анімацій руху об'єктів, які змінюють своє положення і розмір на сторінці, надаючи їй більш динамічного вигляду.

HTML

<div id="ball">Демонстраційний елемент</div>

JS

let element = document.getElementById('ball');
element.style.transition = 'transform 1s';
element.style.transform = 'translateX(100px) translateY(200px) scale(1.5)';
автор: Bond

Цей приклад надає користувачеві можливість взаємодіяти з елементом, використовуючи кнопки для обертання, масштабування та переміщення. Кожна кнопка змінює відповідну трансформацію, і всі зміни застосовуються одночасно для створення складного ефекту. Це чудовий спосіб навчитися використовувати element.style.transform для створення інтерактивних та динамічних інтерфейсів.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід