Der Grund dafür ist, dass Sie die Transformationseigenschaft zweimal verwenden. Aufgrund von CSS-Regeln mit der Kaskade gewinnt die letzte Deklaration, wenn sie dieselbe Spezifität haben. Da sich beide Transformationsdeklarationen im selben Regelsatz befinden, ist dies der Fall.
Was es tut, ist Folgendes:
- Drehen Sie den Text um 90 Grad. OK.
- 50% mal 50% übersetzen. Ok, dies ist dieselbe Eigenschaft wie in Schritt eins. Führen Sie diesen Schritt aus und ignorieren Sie Schritt 1.
Siehe http://jsfiddle.net/Lx76Y/ und öffnen Sie es im Debugger, um zu sehen, dass die erste Deklaration überschrieben wird
Da die Übersetzung die Drehung überschreibt, müssen Sie sie stattdessen in derselben Deklaration kombinieren: http://jsfiddle.net/Lx76Y/1/
Dazu verwenden Sie eine durch Leerzeichen getrennte Liste von Transformationen:
#rotatedtext {
transform-origin: left;
transform: translate(50%, 50%) rotate(90deg) ;
}
Denken Sie daran, dass sie in einer Kette angegeben sind. Daher wird zuerst die Übersetzung angewendet und danach die Drehung.