2D-трансформації
2D-трансформації в CSS дозволяють змінювати розмір, обертати, нахиляти та переміщувати елементи в двовимірному просторі. Ці трансформації дозволяють створювати різні візуальні ефекти та анімації без зміни фактичної структури HTML-документа. За замовчуванням трансформація відбувається відносно центру елемента.
transform-function: Це функція трансформації, яку необхідно застосувати, така як translate(), rotate(), scale(), skew(), matrix(), або будь-яка інша функція трансформації CSS.
value: Параметри функції трансформації, такі як відстань для translate(), кут для rotate(), масштаб для scale(), кут нахилу для skew(), чи матричні значення для matrix(). Параметри розділяються комами.
Для застосування кількох трансформацій до одного елемента властивість transform можна використовувати для комбінації різних трансформацій. Вони будуть застосовані в тому порядку, в якому вони перераховані.
Наприклад:
За замовчанням значення властивості transform - none.
Масштабування
Функції scaleX(tx), scaleY(ty) та scale(tx, ty) дозволяють змінювати розміри елемента відповідно по ширині, по висоті й у двох вимірах. При цьому масштабування жодним чином не впливає на сусідні елементи. tx, ty - це коефіцієнти масштабування. Якщо для scale() вказано одне значення, друге буде таке саме.
Початковий масштаб елемента - 1. Значення tx і ty від 0 до 1 зменшують елемент, значення більше 1 - збільшують.
Поворот
Функція rotate() використовується для обертання елемента. Вона приймає аргумент - кут обертання у градусах та обертає елемент на цей кут у годинниковому напрямку.
angle: Кут обертання в градусах (наприклад: 45deg). Позитивні значення обертають в годинниковому напрямку, а від'ємні - проти годинникового напрямку.
Зміщення
Функції translateX(tx), translateY(ty) і translate(tx, ty) є 2D трансформаціями, які дозволяють зміщувати елемент по горизонталі (ось X) та вертикалі (ось Y). tx, ty - зміщення від початкового положення відповідно по осі X та Y. Відʼємне значення зміщує елемент вліво та вгору, а додатне - вправо і вниз.
Значення можна задавати в пікселях (px) і відсотках (%). Якщо значення задане у відсотках, то за 100% береться розмір самого елемента.
Центрування елемента
Центрування елементу по горизонталі та вертикалі можна здійснити за допомогою transform та translate. Щоб центрувати елемент відносно його власного центру, потрібно змістити його на половину ширини та висоти в протилежних напрямках. Але все по порядку...
Спочатку батьківський елемент потрібно спозиціонувати відносно, а елемент дитини - абсолютно і зсунути його зліва на 50% і згори на 50%.
Елемент зсунеться, але не на середину, бо позиціюється він відносно верхнього лівого кута. Тобто в центрі батьківського елемента буде верхній лівий кут дитини.
Але трансформація transform translate позиціює відносно свого центру, а якщо вказати зміщення у відсотках, то це значення вирахується від розміру самого елемента. Відтак ми можемо зсунути дитину на половину ширини вліво і на половину висоти вгору.
Викривлення
Функції skewX(angle), skewY(angle) та skew(x-angle, y-angle) - 2D трансформації, які дозволяють нахиляти елемент навколо його осей X та Y. Якщо для skew() вказане тільки одне значення, друге дорівнюватиме 0, тобто це буде аналог skewX().
Точка трансформації
Властивість transform-origin використовується для визначення точки, навколо якої застосовуються трансформації (translate, rotate, scale, skew) до елемента. При застосуванні трансформацій точка transform-origin слугує як центральна вісь, навколо якої обертається, масштабується чи нахиляється елемент.
x-координата: Горизонтальна координата точки (left, center або right або значення в пікселях).
y-координата: Вертикальна координата точки (top, center або bottom або значення в пікселях).
Якщо задати у відсотках 50% 50% - це те ж саме, що і center.
Last updated