Well, after reading the w3c specification for translateZ, itβs not clear that anyone was thinking about what the percentage should do there .. (or at least I donβt understand what the implementation should be).
However, the standard decided that translateX (100%) would be relative to the width.
So, the way to get what you want is to rotate until the x axis is on the z axis, do x-translation and restore the rotation:
CSS
transform: rotateY(-90deg) translateX(100%) rotateY(90deg);
In this demo, you can see that the test element that applies this transformation falls into the same position as the ref element that has the translation applied (100px) (since the width of the element is 100px)
vals
source share