I am stuck on defining an css3 cube completely with percent.
Here a short example in Codepen
http://codepen.io/anon/pen/detAB
As you can see the cube faces have 100% width and height of its parent element, which works perfect. Now i am trying to translate the bottom face 50% down and 50% back.
with pixel values this is no problem
transform: rotateX(-90deg) translateZ(50px) translateY(50px);
but with percent nothing happens
transform: rotateX(-90deg) translateZ(50%) translateY(50%);
is there any other way? or am I missing something?
The best I've found is by doing a bit of javascript.
Instead of using the
translateZ()
value, I've used thetransform-origin: x y z
for the axis to be at the center of the cube.The point is that the cube can turn on its center (and not turn on a center of the main face and translate z...)
Here is the jQuery function (eventually to apply on
$(document).ready()
and$(window).resize()
) :You can see a DEMO here...
The percentage there is not of the parent container in the way you might expect but of the element itself. The spec describes it as:
Regarding %s, the spec says:
Though, it seems that instead, they aren't valid in any of them for Chrome at least.
Sorry :(