Drag sliders to build a transform string, compare function order side-by-side, flip a 3D card, and see why transform beats top/left on the compositor.
Adjust translate, scale, rotate, and skew. Change transform-origin to move the pivot — the red dot marks the origin corner.
Transform functions apply right-to-left. Same values, different order — completely different result.
Matrix multiplication is not commutative — always think about which operation runs on the element's local axes first.
perspective on a parent, transform-style: preserve-3d on the scene, backface-visibility: hidden on faces.
transform runs on the GPU compositor thread — no reflow. top/left triggers layout every frame.
Animating transform: translateX()
Animating left (same visual motion)
In DevTools Performance panel, the layout animation shows purple "Layout" blocks every frame. The transform animation stays on "Composite Layers". Prefer transform and opacity for motion.