La razón es porque está usando la propiedad transform dos veces. Debido a las reglas CSS con la cascada, la última declaración gana si tienen la misma especificidad. Como ambas declaraciones de transformación están en el mismo conjunto de reglas, este es el caso.
Lo que está haciendo es esto:
- Gire el texto 90 grados. Okay.
- traducir 50% por 50%. Ok, esta es la misma propiedad que el paso uno, así que haz este paso e ignora el paso 1.
Consulte http://jsfiddle.net/Lx76Y/ y ábralo en el depurador para ver la primera declaración sobrescrita
Como la traducción sobrescribe la rotación, debe combinarlos en la misma declaración: http://jsfiddle.net/Lx76Y/1/
Para hacer esto, usa una lista de transformaciones separadas por espacios:
#rotatedtext {
transform-origin: left;
transform: translate(50%, 50%) rotate(90deg) ;
}
Recuerde que se especifican en una cadena, por lo que la traslación se aplica primero, luego la rotación después de eso.