Верстка · Middle · Запитання 15 з 75
Чому для анімації переміщення transform: translate() часто кращий, ніж зміна left у position: absolute?
- ✓Правильна відповідь:
translateне змінює layout, аleftперераховує розкладку кожен кадр - 2
leftвзагалі не можна анімувати черезtransitionчи@keyframes - 3
translateпідтримує відсотки, аleft- лише абсолютні пікселі
Пояснення
Зсув через transform не впливає на потік і не спричиняє reflow, тому анімація плавніша. left анімувати можна, але це дорожче. Відсотки підтримують обидва, проте рахують по-різному: у translate - від розмірів самого елемента (звідси трюк translate(-50%, -50%) для центрування), у left - від блока, що містить.