CSS 2D Трансформації
CSS 2D Трансформації
CSS-трансформації (перетворення) дозволяють переміщувати, обертати, масштабувати та нахиляти елементи.
Наведіть курсор миші на елемент нижче, щоб побачити 2D-трансформацію:
В цьому розділі ви дізнаєтесь про наступні CSS властивості:
transform
Підтримка браузерами
Числа в таблиці вказують першу версію браузера, яка повністю підтримує властивість.
| Властивість | |||||
|---|---|---|---|---|---|
| transform | 36.0 |
10.0 |
16.0 |
9.0 |
23.0 |
Спеціальні браузерні префікси
Деяким старим браузерам потрібні спеціальні префікси (-ms- або -webkit-) для розуміння властивостей 2D-трансформації:
Приклад
div
{
-ms-transform: rotate(20deg); /* IE 9 */
-webkit-transform: rotate(20deg); /* Safari до 9.0 */
transform: rotate(20deg); /* Стандартний синтаксис */
}
Спробуйте самі »
CSS Методи 2D трансформацій
За допомогою CSS властивості transform ви можете використовувати наступні методи 2D-трансформації:
translate()rotate()scaleX()scaleY()scale()skewX()skewY()skew()matrix()
Підказка: Ви дізнаєтесь про 3D-трансформації в наступному розділі.
Метод translate()

Метод translate() переміщує елемент із його поточної позиції (відповідно до параметрів, вказаними для осі X та осі Y).
В наступному прикладі елемент <div> переміщується на 50 пікселів праворуч і на 100 пікселів нижче його поточної позиції:
Метод rotate()
Метод rotate() обертає елемент за годинниковою або проти годинникової стрілки відповідно заданому градусу.
В наступному прикладі елемент <div> повертається за годинниковою стрілкою на 20 градусів:
Використання негативних значень буде обертати елемент проти годинникової стрілки.
В наступному прикладі елемент <div> повертається проти годинникової стрілки на 20 градусів:
Метод scale()

Метод scale() збільшує або зменшує розмір елемента (відповідно до параметрів, вказаними для ширини та висоти).
В наступному прикладі елемент <div> збільшується в два рази у порівнянні з його початковою шириною та в три рази у порівнянні з його початковою висотою:
В наступному прикладі елемент <div> зменшується до половини його початкової ширини та висоти:
Метод scaleX()
Метод scaleX() збільшує або зменшує ширину елемента.
В наступному прикладі елемент <div> збільшується в два рази у порівнянні з його початковою шириною:
В наступному прикладі елемент <div> зменшується до половини його початкової ширини:
Метод scaleY()
Метод scaleY() збільшує або зменшує висоту елемента.
В наступному прикладі елемент <div> збільшується в три рази від його початкової висоти:
В наступному прикладі елемент <div> зменшується до половини його початкової висоти:
Метод skewX()
Метод skewX() нахиляє елемент вздовж осі X на заданий кут.
Наступний приклад нахиляє елемент <div> на 20 градусів по осі X:
Метод skewY()
Метод skewY() нахиляє елемент вздовж осі Y на заданий кут.
Наступний приклад нахиляє елемент <div> на 20 градусів вздовж осі Y:
Метод skew()
Метод skew() нахиляє елемент вздовж осі X та Y на задані кути.
В наступному прикладі елемент <div> нахиляється на 20 градусів по осі X та на 10 градусів по осі Y:
Якщо другий параметр не вказано, він має нульове значення. Наступний приклад нахиляє елемент <div> на 20 градусів вздовж осі X:
Метод matrix()
Метод matrix() об’єднує всі методи 2D-трансформацій в один.
Метод matrix() приймає шість параметрів, що містять математичні функції, які дозволяють обертати, масштабувати, переміщувати (переводити) та нахиляти елементи.
Параметри по порядку слідування: matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())
Перевірте себе за допомогою вправ!
CSS Властивості трансформації
В наступній таблиці перераховані всі властивості 2D-трансформації:
| Властивість | Опис |
|---|---|
| transform | Застосовує 2D або 3D трансформацію до елементу |
| transform-origin | Дозволяє змінити положення трансформованих елементів |
CSS 2D Методи трансформації
| Функція | Опис |
|---|---|
| matrix(n,n,n,n,n,n) | Визначає 2D-трансформацію, використовуючи матрицю із шести значень |
| translate(x,y) | Визначає 2D переміщення, переміщення елемента вздовж осі X та Y |
| translateX(n) | Визначає 2D-переміщення, переміщуючи елемент вздовж осі X |
| translateY(n) | Визначає 2D-переміщення, переміщуючи елемент вздовж осі Y |
| scale(x,y) | Визначає розмір 2D трансформації, змінюючи ширину та висоту елементів |
| scaleX(n) | Визначає розмір 2D трансформації, змінюючи ширину елемента |
| scaleY(n) | Визначає розмір 2D трансформації, змінюючи висоту елемента |
| rotate(angle) | Визначає 2D повертання, кут вказується в параметрі |
| skew(x-angle,y-angle) | Визначає здвиг 2D трансформації по осі X та Y |
| skewX(angle) | Визначає здвиг 2D трансформації по осі X |
| skewY(angle) | Визначає здвиг 2D трансформації по осі Y |

